Triplit is a full-stack, syncing database that runs on both server and client with real-time data synchronization between browser and server.
Triplit addresses the challenge of keeping client and server data in sync across distributed systems. It works by maintaining a full-fledged database on the client side that intelligently syncs with server-side storage through WebSocket connections. The system handles conflict resolution at the property level using CRDTs, supports offline-mode with automatic reconnection, and provides optimistic updates to ensure responsive user interactions. Data consistency is maintained across multiple writers on the network, and the tool enforces authorization rules on the server for both reads and writes.
Triplit suits teams building real-time collaborative applications, offline-first progressive web apps, or any project requiring low-latency data synchronization. It works with popular frameworks including React, Vue, Svelte, and Solid, and supports pluggable storage backends such as SQLite, IndexedDB, LevelDB, and Cloudflare Durable Objects. The tool provides schema support for type safety and TypeScript autocompletion, along with an admin console for viewing and mutating data. It is positioned as an alternative to Firebase and Firestore for developers seeking an open-source, self-hosted approach to real-time database synchronization.
The project maintains a comprehensive monorepo structure with separate packages for the core database engine, client library, server implementation, framework-specific bindings for React and Svelte, a CLI tool for project scaffolding and development, and an admin console. Development activity shows consistent investment across multiple interconnected packages that together form a complete full-stack solution. The tool is fully open-source and includes documentation built with Nextra alongside shared UI components and type definitions used across the ecosystem.