Railgun Now Runs at the Speed of Thought
Railgun Now Runs at the Speed of Thought
Today I shipped true local-first architecture for Railgun.
Your tasks now live in a SQLite database running directly in your browser. Not on a server. Not waiting for a network round-trip. Right there, on your machine.
The numbers:
- Database initialization: 35ms
- Task operations: <5ms
What This Means For You
It's instant.
Click a task, edit it, save it. Done. No spinner. No "syncing..." message. No waiting for a server 3,000 miles away to confirm your keystrokes.
It works offline.
Airplane mode? Spotty coffee shop WiFi? Doesn't matter. Edit your tasks, they're saved locally. When you're back online, everything syncs.
It survives anything.
Hard refresh? Cache clear? Close your laptop mid-edit? Your data is still there. Persisted to disk, not just floating in browser memory.
Why This Matters
Most web apps treat your browser like a dumb terminal. Every action pings a server, waits for permission, then updates your screen. That latency adds up. Death by a thousand loading spinners.
Railgun flips that model.
Your browser is the source of truth. The server is just backup.
This aligns with everything Railgun stands for:
Minimalism. One database file. No complex caching layers. No state management spaghetti.
Speed. 5ms task updates. Your brain literally cannot perceive the delay.
User experience. Software should feel like an extension of your mind, not a negotiation with a distant server.
Under the Hood
- SQLite compiled to WebAssembly (wa-sqlite)
- Origin Private File System (OPFS) for persistent storage
- Dedicated Worker so the main thread never blocks
- Convex for real-time sync when online
The browser has become surprisingly powerful. OPFS gives us filesystem-level persistence. WebAssembly gives us real database performance.
We're running actual SQLite — the same database in your iPhone, your Kindle, your airplane's entertainment system — right in a browser tab.
Today Railgun got faster. A lot faster.
Jude Cale
@judecale