The Zero-Backend Bet
Some of the most-shared tools being built right now have no server.
Everything runs in the browser. There’s no backend to maintain, no database to secure, no account to create. You visit a URL, the thing works, you share the URL with someone else.
This is a deliberate architecture choice, and it has distribution properties that server-side applications can’t match.
The Trust Problem
When someone encounters a new web tool, especially one that touches personal data, there’s an implicit question in every interaction: what happens to this?
A passport photo tool needs your face. A document analyzer needs your text. A data visualizer needs your data. For each of these, the user is trusting that the tool handles their input responsibly — doesn’t store it, doesn’t transmit it, doesn’t sell it.
A client-side tool eliminates this trust gap. When computation happens entirely in the browser, data never leaves the device. There’s nothing to breach, nothing to mishandle, nothing stored anywhere. The user doesn’t have to trust the developer’s intentions; they can verify the architecture with their browser’s network tab.
This is a different kind of assurance than a privacy policy. It’s architectural.
What You Lose
Fully client-side means working within real constraints.
You can’t do things that require persistent state across sessions. You can’t maintain a database of user history. You can’t have a user account in any meaningful sense. You can’t do server-side processing that would be too slow or expensive to run in a browser.
Heavy ML models don’t fit in a browser tab (though this is changing rapidly as WebGPU matures and model sizes shrink). Operations that require network calls to external services break the purely local model. Collaboration between multiple users requires some coordination layer.
These are real limitations. But for a certain class of tools, the constraints don’t matter — because the value can be delivered without any of those things.
What You Gain
Beyond trust, purely client-side tools have other distribution advantages.
No signup friction. You can share a URL and the thing just works. No “create an account to continue,” no email verification, no onboarding flow. The time between “someone shared this with me” and “I’m using this” is measured in seconds.
No infrastructure cost. A static site on any CDN costs essentially nothing to serve at scale. If your tool goes viral and a hundred thousand people use it in a day, your server bill is the same: negligible. You can’t say the same for a backend that processes requests.
No scaling anxiety. You don’t wake up to a spike in traffic and wonder if the database is collapsing. There’s no database. The compute is distributed across every user’s device.
GitHub Pages, Netlify, Cloudflare Pages are sufficient for hosting. The operational overhead is minimal.
The Design Constraint as Forcing Function
Working without a server forces interesting design decisions. You have to figure out what you actually need to store versus what you can recompute. You have to think about what data really needs to leave the device.
Often, the answer is: less than you thought.
Most tools that seem like they’d need a backend don’t actually need one. They need to store some configuration, maybe cache some results, and produce output from input. All of that can happen in memory, in localStorage, in IndexedDB, in the browser’s own file system.
The no-backend constraint often produces simpler, faster, more privacy-preserving software. It removes the question of what happens to user data because the data doesn’t go anywhere.
When to Use It
Build client-side when:
- The computation can run efficiently in a browser
- The user’s data is sensitive and the trust gap matters
- You want zero operational complexity
- You’re optimizing for shareability
Build with a backend when:
- You genuinely need persistent state across devices and sessions
- The computation is too heavy for a browser
- You need real-time collaboration
- You need user authentication for security reasons
The test is simple: is there something this tool genuinely needs a server for? If the answer is no, the zero-backend bet is worth taking.
The absence of infrastructure isn’t a limitation. Sometimes it’s the product.