Triplit logo

Triplit

Full-stack syncing database for server and browser real-time apps

Open-source TypeScript database that syncs data between server and client in real-time with offline support, relational queries, and built-in conflict resolution.

Triplit banner

Overview

What is Triplit?

Triplit is a full-stack database designed for modern real-time applications. Unlike traditional client-server architectures, Triplit runs as a TypeScript package on both server and browser, intelligently syncing queries and data between environments with minimal latency.

Core Capabilities

Built on CRDTs for conflict-free collaboration, Triplit delivers property-level conflict resolution, optimistic updates, and automatic offline mode with reconnection handling. The system supports relational querying through a simple JavaScript and React API, with pluggable storage providers including SQLite, IndexedDB, LevelDB, and in-memory options. Schema definitions provide type safety and TypeScript autocompletion, while server-enforced authorization secures both reads and writes.

Deployment & Audience

Triplit targets developers building collaborative tools, real-time dashboards, and offline-first progressive web apps. The monorepo includes a CLI for scaffolding projects, framework bindings for React and Svelte, a development sync server, and an admin console. Deploy the server component to Node environments while client libraries run in browsers, React Native, Deno, or Bun. Delta patches minimize network traffic, and durable server-side storage ensures data persistence across sessions.

Highlights

Real-time sync with property-level CRDT conflict resolution and delta patches
Full client-side database with relational queries and offline-first operation
Pluggable storage backends: SQLite, IndexedDB, LevelDB, Cloudflare Durable Objects
Type-safe schemas with server-enforced authorization and TypeScript autocompletion

Pros

  • Single TypeScript codebase runs across server, browser, and edge environments
  • Optimistic updates and automatic rollback create responsive user experiences
  • Framework bindings for React and Svelte reduce integration complexity
  • Comprehensive CLI tooling for scaffolding, migrations, and local development

Considerations

  • AGPL-3.0 license requires source disclosure for modified server deployments
  • Relatively new project with smaller ecosystem compared to Firebase or Supabase
  • CRDT-based architecture may introduce learning curve for traditional SQL developers
  • Limited framework bindings currently available beyond React and Svelte

Managed products teams compare with

When teams consider Triplit, these hosted platforms usually appear on the same shortlist.

Backendless logo

Backendless

Backend-as-a-Service with database, realtime, auth, files, and cloud code

Firebase logo

Firebase

Backend services for auth, database, storage, and messaging

Supabase logo

Supabase

Open source Firebase alternative backend

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Real-time collaborative applications requiring multiplayer editing and live updates
  • Offline-first progressive web apps with automatic sync on reconnection
  • Developers seeking type-safe, full-stack database solutions in TypeScript
  • Teams building on Cloudflare Workers, Deno, or other edge compute platforms

Not ideal when

  • Projects requiring permissive licensing for proprietary server modifications
  • Applications with complex analytical queries better suited to traditional SQL databases
  • Teams without TypeScript experience or JavaScript-first development workflows
  • Systems needing mature ecosystem integrations with ORMs and migration tools

How teams use it

Collaborative Task Management

Multiple users edit todos simultaneously with instant sync, offline editing, and automatic conflict resolution when reconnected

Real-Time Analytics Dashboard

Live-updating charts and metrics stream from server to browser with minimal latency using incremental delta patches

Offline-First Field Service App

Technicians capture data without connectivity, with automatic background sync and consistency guarantees when online

Multiplayer Game State Management

Player actions sync across clients in real-time with CRDT-based conflict resolution and optimistic local updates

Tech snapshot

TypeScript88%
MDX10%
JavaScript2%
CSS1%
HTML1%
Svelte1%

Tags

leveldbdenoindexeddbrxdbcloudflare-workerscrdtmultiplayerreactsqlitedurable-objectsfirebasesupabasenextjsfullstackbundatabasepwawebsocketsfirestore

Frequently asked questions

What storage providers does Triplit support?

Triplit offers pluggable storage including SQLite, IndexedDB, LevelDB, in-memory stores, and Cloudflare Durable Objects, allowing deployment across browsers, Node, Deno, and edge environments.

How does Triplit handle conflicts in real-time sync?

Triplit uses CRDTs (Conflict-free Replicated Data Types) with property-level conflict resolution, ensuring consistent state across clients without requiring manual merge logic.

Can I use Triplit with frameworks other than React?

Yes. Triplit provides official bindings for React and Svelte, plus a vanilla JavaScript client that works with Vue, Angular, or any framework. The core client runs in any JavaScript environment.

What are the licensing implications of AGPL-3.0?

AGPL-3.0 requires you to disclose source code if you modify and deploy the Triplit server over a network. Client-side usage in applications does not trigger this requirement.

Does Triplit require a hosted backend service?

No. You can self-host the Triplit sync server on any Node-compatible platform or use the local development server. There's no mandatory cloud service dependency.

Project at a glance

Active
Stars
3,050
Watchers
3,050
Forks
97
LicenseAGPL-3.0
Repo age2 years old
Last commit2 days ago
Primary languageTypeScript

Last synced 3 hours ago