Keeping terabytes of user data alive for a decade — and counting

When someone builds a site on your platform, they trust you with their data. Photos. Videos. Customer records. Blog posts. Entire media libraries. For years, I was the one making sure it all stayed online. The invisible cost Most platforms show you a shiny dashboard. What you don’t see is what happens behind it: the storage clusters, the bandwidth bills, the backup routines, the late-night migrations when a drive fills up. ...

May 6, 2026 · 2 min · 405 words · Jonayed Hossan Gazi

Pre-built modules: forums, galleries, user systems in one click

In the original Wapka, modules were everything. They gave users instant functionality — a guestbook, a forum, a chatroom — without touching code. That philosophy carried forward. What’s built in Forum: threaded discussions, categories, moderation Chatroom: real-time text chat with user presence Gallery: image uploads, albums, lightbox viewing Guestbook: visitor comments with spam protection User system: registration, login, profiles, roles Blog: posts, categories, RSS, comments File manager: upload, organize, serve files Every module works out of the box. Enable it, configure it, and it appears on your site. No plugin marketplace. No dependency hell. No “this module is incompatible with your theme.” ...

May 6, 2026 · 1 min · 198 words · Jonayed Hossan Gazi

Real-time chat and WebSockets on shared hosting

Real-time features used to require dedicated servers. WebSockets need persistent connections. Persistent connections need resources. Most shared hosting platforms avoid real-time entirely. Wapka supports WebSockets on shared infrastructure. Here is how. The architecture The WebSocket layer runs alongside the HTTP server, sharing the same infrastructure. When a user connects to a chatroom or enables notifications, the platform establishes a persistent connection. Messages route through the same sandboxed environment that handles HTTP requests. ...

May 6, 2026 · 1 min · 190 words · Jonayed Hossan Gazi

Self-host vs managed: the honest tradeoffs

Wapka gives you a choice most platforms do not: use the managed cloud or self-host. Both run the same software. Both access the same database format. Both are valid. The decision comes down to what you value. Managed cloud — the smart default With Wapka managed, everything works out of the box. No servers to provision. No SSL to configure. No CDN to set up. No updates to maintain. You get What it means 100GB free storage No hosting bills. Ever. Automatic SSL HTTPS works instantly. Let’s Encrypt, auto-renewed. Global CDN Assets served from the nearest edge. Fast worldwide. DDoS protection Filtered at the network edge. Zero config. Built-in analytics Traffic, referrers, popular pages. No third-party. Automatic updates Security patches roll out. You do nothing. Email support Priority support on paid plans. Zero DevOps Build your site. Forget the server exists. Managed is ideal for: creators, students, small businesses, anyone who wants to build without managing infrastructure. You focus on your site. We handle the rest. ...

May 6, 2026 · 2 min · 395 words · Jonayed Hossan Gazi

SSL, CDN, social login — the infrastructure layer you don't have to think about

Most people building a website do not want to become system administrators. They want SSL to just work. They want their site to load fast everywhere. They want login with Google and Facebook without reading OAuth documentation. Wapka’s managed cloud provides all of this — invisible to the user, running every second. What’s included SSL certificates: auto-provisioned, auto-renewed via Let’s Encrypt. Every site gets HTTPS by default. CDN: global edge caching. Static assets served from the nearest edge node. Fast load times worldwide. DDoS protection: traffic filtering at the network edge. No configuration needed. Social login: Google and Facebook OAuth built in. Users authenticate with accounts they already have. Analytics: built-in site analytics. Traffic, referrers, popular pages. No third-party tracker required. Email: transactional email support for notifications, password resets, and alerts. This infrastructure layer exists so that community members — creators, students, small business owners — can focus on building their sites instead of managing servers. The people who shaped these features came from every skill level and every part of the world, united by the same need: powerful hosting without the complexity. ...

May 6, 2026 · 1 min · 199 words · Jonayed Hossan Gazi

The best platform for students learning to code is free and you've never heard of it

Learning to code is hard enough without infrastructure getting in the way. Most paths to building a dynamic website require: a laptop capable of running Docker, a credit card for hosting, knowledge of DNS configuration, terminal comfort, and enough patience to debug a deployment before you even see your first page. That’s a wall for most beginners. Wapka removes every single one of those barriers. What students get for $0 A visual builder to create pages instantly Server-side scripting with Lua — learn backend logic without setting up a server A built-in NoSQL database (Dataset) with a visual browser 100GB of storage Free SSL certificates Global CDN Pre-built modules: forums, galleries, user authentication, chat No credit card. No terminal. No DevOps. Sign up and build. ...

May 6, 2026 · 2 min · 408 words · Jonayed Hossan Gazi

The Dataset: build a data layer without writing a single query

Most non-technical users never touch a database. They do not know what a collection is. They do not understand query syntax. And honestly — they should not have to. Wapka’s Dataset changes that. You store data visually. The platform handles everything else. How it works Create a collection. Name it. Collections auto-create on first insert — no setup, no schema. Add documents. Each document is a JSON object. Fields can be anything: text, numbers, booleans, arrays, nested objects. Query with filters. Use the visual Dataset browser or the Lua API. Filter by exact match, ranges, patterns, and more. Display data. Choose a view: list, grid, detail page. The platform generates the output. No SQL. No migrations. No schema files. You define your data model as you go, and the platform turns it into a working application. ...

May 6, 2026 · 2 min · 349 words · Jonayed Hossan Gazi

The detach/reattach protocol: how it works

The detach/reattach cycle is the practical implementation of Wapka’s philosophy: users own their data and can leave anytime. Here is exactly how it works. Step 1: Detach from the managed cloud From your dashboard: Export your data. The Dataset produces a portable JSON export. (Enterprise users can also request a full database clone.) Download your files. The file manager lets you export your entire storage directory as an archive. Your site is now independent. Nothing remains on Wapka’s servers that you do not have locally. Step 2: Self-host On your own server: ...

May 6, 2026 · 2 min · 326 words · Jonayed Hossan Gazi

The doors open both ways — why Wapka is built for freedom

Most platforms build walls. Terms of service. Proprietary data formats. Export processes that technically exist but practically don’t work. The message is always the same: you can join, but leaving will cost you. Wapka takes the opposite approach. You can leave anytime. And that counterintuitive decision is exactly why people choose to stay. The open source foundation The entire Wapka codebase is open source on GitHub at wapka-web. Every line. The visual builder. The Lua engine. The legacy parser. The REST API. The admin dashboard. ...

May 6, 2026 · 3 min · 536 words · Jonayed Hossan Gazi

The Express-like Lua framework: familiar syntax, sandboxed runtime

If you have used Express.js, Koa, or Sinatra, Wapka’s Lua framework will feel immediately familiar. The syntax is designed to be recognizable — on purpose. A quick tour local app = framework() app:get("/", function(ctx) return ctx:html("<h1>Hello from Lua</h1>") end) app:get("/api/users", function(ctx) local users = api.users.list({ limit = 50 }) return ctx:json(users) end) app:post("/api/contact", function(ctx) local name = ctx.body.name local email = ctx.body.email api.dataset.create("messages", { name = name, email = email }) return ctx:json({success = true}) end) Route definitions. Request parameters. Database queries. JSON responses. Standard web development patterns — running inside a sandboxed Lua environment via PHP LuaSandbox. ...

May 6, 2026 · 2 min · 275 words · Jonayed Hossan Gazi