TypeScript library and local‑first platform

Standard library

A tree-shakable TypeScript library that fits in your head.

Type

Runtime types, typed errors and formatters. All branded.

Task

Structured concurrency built on JavaScript Promises.

Lightweight

Runtime types, structured concurrency, logging: 5.1 kB.

Batteries included

Helpers for Array, Object, etc. Eq, Order, Time, and more.

Result

Typed errors. No try/catch. Exhaustive error handling.

Universal

Web, React Native, Electron, Solid, Vue, Svelte, and more.

Idiomatic JavaScript

Minimal abstractions, native stack traces, debug-friendly.

Private by design

E2E encrypted sync and backup. Post-quantum safe.

Automatic cleanup

Resource management with the new JS using keyword.

Reactive SQLite

Local-first with reactive queries and React Suspense.

Developer experience

Readable source code, tests, DX-first API.

Real-time

WebSocket by default, other transports possible.

Type-safe SQL

Typed database schema and SQL with Kysely.

CRDT

Merging changes without conflicts. History preserved.

Free

MIT License, self-hostable Relay server.

Own your apps and data.
Work offline, sync online.
No vendor lock‑in.*

*Of course, SQLite and Evolu are kind of lock‑in, but replaceable because SQL is standard, and Evolu is just a thin layer on standard APIs.