Local-first architecture
Why Jett treats the device as the source of truth—and the cloud as a narrow sync bridge.
Jett is designed around a simple premise: the fastest, most private place for your email is the machine you are already using.
The system at a glance
The UI never waits for a round trip before it becomes useful. It reads from a local model, then sync keeps that model accurate in the background.
Local data is the contract
The application depends on a typed local-store contract rather than on a specific database driver. This makes every runtime interchangeable without leaking storage details into the product layer.
- Desktop: native SQLite with WAL for predictable local reads.
- Web: SQLite in WASM/OPFS where the browser supports it.
- Fallback: a compatible adapter keeps the same application contract intact.
A local-first product does not mean an offline-only product. It means the interface has a durable, useful state before the network arrives.
Read path
When a mailbox opens, Jett returns warm rows from the in-memory cache whenever possible. A cold start hydrates the view from the local store, then applies only the changes that arrived after the saved cursor.
What this gives us
The resulting experience is immediate, resilient and clear about where the data lives. Search, triage and navigation feel local because they are local.