Here’s the post that kicked this off: “Ditch the Server: Build Offline-Ready Apps with Local-First Architecture” (https://dev.to/picolt/ditch-the-server-build-offline-ready-a...)
A bit of backstory: I was building a POS (point-of-sale) system for small businesses where internet connection is unreliable. I realized that even basic actions—like adding items to a cart or saving a transaction—depended too much on network requests. That’s when I decided to flip the model and build an architecture that’s local-first by default.
Here’s how it works:
WASM + SQLite in the Browser – The app is compiled to WebAssembly and runs completely client-side, including a local embedded SQLite database. No server round trips needed to store or query data.
No External API Needed – The "backend" logic is written in Rust and compiled to run in the browser. You can think of it as a monolith that's shipped to the client.
Works Offline by Default – Everything from data storage to routing and rendering happens locally. Even if the user loses connection mid-session, the app doesn’t break.
Optional Syncing – If you want cloud sync later (for backup, multi-device, or analytics), that can be layered on top after your core app works offline.
There’s no "server" in the traditional sense. You write your UI, logic, and data models in Rust. The Rocal framework handles rendering, routing, persistence, and local execution via WASM.
I know it sounds wild, but it’s working well for POS systems, form-heavy apps, and other use cases where latency or connectivity is a problem. Think kiosk apps, field tools, or apps meant for remote areas.
Here’s a quick demo and explanation of the architecture (more demos coming soon): https://demo1.rocal.app
Rocal is fully open-source and still in early stages. I’m actively building the CLI, versioning system, and dev workflow to make it easier to ship apps like this. Long-term, I want to make it as simple to build and deploy local-first web apps as it is to spin up a typical full-stack app. GitHub: https://github.com/rocal-dev/rocal
If you’re curious about building apps that feel instant, resilient, and fully private, I’d love your thoughts and feedback.
Thanks!