All the benefits of a backend. None of the servers.
Civility lets you ship an offline-first web app as static files and still offer server-backed features — sync, blob storage, AI calls, and sharing. Your users connect their own Civility account and pay for their own storage. You never deploy, scale, or maintain a server.
Why build on Civility
The user brings the server. You bring the app.
Your app is static files on any host. Each user connects their own Civility account — the hosted service or a server they run themselves — so there is no backend for you to operate, no database to migrate, and no storage bill that grows with your user count.
Offline-first sync with conflict-free merging across devices, plus blob storage with range streaming for large files. Apps can opt in to end-to-end encryption when it fits their feature set.
Make AI service calls through the user's Civility account — no API keys shipped in your app, no proxy server for you to run and meter.
Sharing and social features between users are on the way, built on the same account model — your app gets them without a backend, too.
See it in action
One system, very different apps.
Offline-capable maps bookmarking, comparable to Organic Maps — in the browser. maps.bpev.me →
A notes app with end-to-end encryption support. inro.bpev.me →
A recipes app with AI recipe generation and AI-supported imports. cook.bpev.me →
An audio player with synced libraries and streaming blobs. audio.bpev.me →
How it works
-
Add
@civility/syncto your app. Point it at any CivServer; your app keeps working fully offline and reconciles when it reconnects. - Users authorize with one click. Your app opens the Civility popup; the user signs in to their own account and grants the access your app requests. That's it — no registration required.
- Optionally, declare a manifest. Register your app to give users a branded consent popup — your name, icon, description, and the exact permissions you request — and to lock token delivery to your app's origin.