Evolu
activeby Daniel Steigerwald and Evolu contributors · since 2022 · also known as Evolu local-first
Local-first TypeScript platform: SQLite on each device, end-to-end encrypted sync through relays.
Overview
Evolu is a local-first library and platform for TypeScript apps. Each device keeps its data in SQLite (WASM in browsers, native on React Native/Expo and Electron), queries it with type-safe SQL via Kysely, and syncs changes end-to-end encrypted through relays you can self-host, so the relay never sees plaintext. Identity is a mnemonic-based owner key rather than a server account. It suits privacy-sensitive apps where the server should never see user data; Trezor Suite uses it in production. The project is small and the platform still describes its general release as upcoming.
Strengths & trade-offs
Strengths
- +End-to-end encrypted sync; relays store only ciphertext
- +Real SQLite on every device with type-safe queries
- +Self-hostable relays with no vendor account
- +Used in production by Trezor Suite
Trade-offs
- −Small project with a single lead maintainer
- −Key-based identity makes account recovery a UX problem you must solve
- −No server-side querying of user data by design
Great for
- +Privacy-first personal apps (notes, finance, health)
- +Wallet and security tooling
- +Offline-capable apps without a backend team
Think twice for
- −Apps where the server must query or aggregate user data
- −Large multi-tenant SaaS backends
Capabilities
Native or official first-party support · 7 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- Active active
- Transactions
- Limited ACID
- Consistency
- Eventual
- Schema
- Strict
- Architecture
- Embedded, Distributed
- Query languages
- SQL (via Kysely query builder)
Every device is a writer; data converges via CRDT-style merge through relays.
Deployment
Ecosystem
Alternatives to Evolu
Local-first database with built-in sync, permissions and edit history, being rebuilt as a relational Jazz 2.
evolu vs jazz →Tiny reactive in-memory store for tables and values, with persisters and CRDT sync.
evolu vs tinybase →Sync engine that keeps on-device SQLite in sync with Postgres, MongoDB, MySQL or SQL Server.
evolu vs powersync →Reactive local-first NoSQL database for JavaScript with pluggable storage and replication.
evolu vs rxdb →Full-stack syncing database for TypeScript apps; development has stalled since 2025.
evolu vs triplit →Read-path sync engine that streams partial replicas of Postgres to clients over plain HTTP.
evolu vs electricsql →Evolu FAQ
What is Evolu?
Evolu is a relational database by Daniel Steigerwald and Evolu contributors, first released in 2022. Evolu is a local-first library and platform for TypeScript apps. Each device keeps its data in SQLite (WASM in browsers, native on React Native/Expo and Electron), queries it with type-safe SQL via Kysely, and syncs changes end-to-end encrypted through relays you can self-host, so the relay never sees plaintext. Identity is a mnemonic-based owner key rather than a server account. It suits privacy-sensitive apps where the server should never see user data; Trezor Suite uses it in production. The project is small and the platform still describes its general release as upcoming.
Is Evolu open source?
Yes. Evolu is open source. License: MIT License.
Does Evolu support ACID transactions?
Partly. Evolu offers limited ACID guarantees (for example, single-record or single-partition transactions), with eventual consistency.
Does Evolu scale horizontally?
Evolu does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB). It supports active-active multi-region writes.
How can I run Evolu?
You can self-host it and embed it in your application.
What is Evolu best for?
Evolu is a strong fit for privacy-first personal apps (notes, finance, health); wallet and security tooling; and offline-capable apps without a backend team. Think twice for apps where the server must query or aggregate user data.
What are the best alternatives to Evolu?
Common alternatives to Evolu include Jazz, TinyBase, PowerSync, RxDB and Triplit. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is Evolu?
Evolu ranks #242 of 844 databases on the WhichDB Score (13.9/100), and #75 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.