tinyplex

tinyplex/tinybase

TypeScript MIT Web Dev

A reactive data store & sync engine.

5.1k stars
130 forks
active
GitHub +12 / week

5.1k

Stars

130

Forks

26

Open issues

25

Contributors

v9.1.0 09 Jul 2026

AI Analysis

TinyBase is a reactive data store and synchronization engine for JavaScript/TypeScript applications, designed for real-time data management with multi-framework support (React, Solid, Svelte) and broad backend integration (IndexedDB, PostgreSQL, SQLite, and distributed sync platforms). It serves developers building reactive, data-driven applications with offline-first and collaborative data needs; it is not a general-purpose database replacement but a specialized state management layer for fr...

Web Dev Library Discovery value: 6/10
Documentation 8/10
Activity 10/10
Community 8/10
Code quality 9/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

reactive-state-management data-synchronization offline-first multi-framework typescript
Actively maintained Well documented MIT licensed Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
2w ago

TinyBase brings reactive tables, sync, and CRDT-based collaboration to client-side TypeScript apps

TinyBase is a structured, reactive in-memory data store with optional persistence and multi-peer synchronization. It targets frontend and local-first application developers who need tabular data primitives, fine-grained reactivity, and sync capabilities (including CRDT conflict resolution) without a heavy backend. It integrates with React, Solid, Svelte, SQLite, IndexedDB, PostgreSQL, Cloudflare, PartyKit, ElectricSQL, PowerSync, Yjs, and Automerge. It is best suited for offline-capable apps, local-first SPAs, browser extensions, and Expo/React Native apps where structured state management and optional sync matter.

Origin

Created in late 2021 as a lightweight reactive store, TinyBase has expanded significantly from a simple key-value/table store into a full sync engine with CRDT support, schema validation, and a large integration surface by 2024–2026.

Growth

Growth has been steady rather than viral — approximately 5,100 stars since 2021 suggests organic adoption among local-first and offline-first developer communities. The recent 7-day star velocity (8 stars) is modest, indicating the project has not broken into mainstream awareness but retains a loyal, specialized audience. The expanding integration list (PowerSync, ElectricSQL, PGlite, Turso) may attract new users as local-first patterns gain broader industry traction.

In production

A list of GitHub sponsors and named contributors (including Expo-affiliated accounts and other named individuals) appears in the README, suggesting real adoption among at least a subset of developers. Expo ecosystem presence (expo.png sponsor) indicates some production-adjacent usage. Broader production adoption at scale is not directly verified from available metadata — adoption appears concentrated in local-first/indie app developers rather than enterprise deployments.

Code analysis
Architecture

Appears to use a modular, multi-package architecture exposing separate primitives: Tables/Row/Cell store, key-value store, metrics, indexes, relationships, and query layers — all with reactive listener APIs. Sync is likely implemented via MergeableStore using CRDT semantics. Persistence adapters appear to be pluggable. UI bindings likely wrap store listeners into framework-specific hooks and stores. Based on README integration breadth, the codebase is likely large and multi-module.

Tests

README badge explicitly claims 100% test coverage (via Vitest), which is a strong signal of test discipline, though the practical meaning of 100% coverage varies by implementation.

Maintenance

Last push was 2026-06-21, only 3 days before the evaluation date — indicating active, ongoing maintenance. The project appears to receive regular updates based on its expanding integration surface and the recency of the last commit. A Discord community and GitHub Discussions are listed, suggesting active author engagement.

Honest verdict

ADOPT IF: you are building a local-first, offline-capable TypeScript app (browser, Expo, or edge) that needs structured tabular state, fine-grained reactivity, and optional multi-peer sync without a heavy backend — and you value a well-maintained, TypeScript-native library with broad persistence integrations. AVOID IF: you need a proven production-grade sync backend, server-side data management, or you are building a large-scale collaborative product where Yjs/Automerge ecosystems with their existing tooling are better fits. MONITOR IF: you are evaluating local-first patterns but not yet committed — TinyBase's integration surface is growing and the local-first space is maturing, making it a strong candidate to watch over the next 12–18 months.

Independent dimensions

Mainstream potential

4/10

Technical importance

8/10

Adoption evidence

3/10

Risks
  • Primarily maintained by a single author or very small core team (based on fork count of 130 vs star count), creating bus-factor risk for a library with significant API surface.
  • The breadth of integrations (20+ adapters and sync targets) may be difficult to maintain at high quality simultaneously, potentially leading to uneven reliability across adapters.
  • Modest star velocity and community size relative to competitors may result in limited third-party learning resources, plugins, and community support over time.
  • The local-first/offline-first space has multiple competing sync standards emerging (ElectricSQL, PowerSync, Liveblocks, etc.); changes in that landscape could affect TinyBase's sync adapter relevance.
  • The 100% test coverage claim, while encouraging, cannot be verified from outside the codebase — actual edge-case robustness in sync and CRDT scenarios requires independent validation.
Prediction

TinyBase is likely to remain a well-maintained, high-quality option for local-first TypeScript developers. It is unlikely to displace RxDB or enter mainstream awareness in the next 1–2 years, but may grow steadily as local-first patterns become more common in production apps.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

TypeScript
48.7%
JavaScript
40.4%
HTML
8%
Svelte
2.6%
Less
0.4%
Dockerfile
0%

Information

Language
TypeScript
License
MIT
Last updated
11h ago
Created
55mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

TanStack

TanStack/db

TanStack DB is a reactive client-side store designed to complement server APIs,...

3.8k TypeScript Web Dev
nanostores

nanostores/nanostores

Nanostores is a minimal state management library (340–864 bytes) designed for...

7.5k TypeScript Web Dev
pubkey

pubkey/rxdb

RxDB is a local-first, reactive NoSQL database for JavaScript applications that...

23.3k TypeScript Web Dev
reactive

reactive/data-client

Reactive Data Client is an async state management library for React, React...

2k TypeScript Web Dev
typicode

typicode/lowdb

lowdb is a lightweight, type-safe JSON database for JavaScript/Node.js that...

22.6k JavaScript Dev Tools
vs. alternatives
RxDB

RxDB is more mature, more widely adopted, and targets similar offline-first use cases with reactive queries. It has far more stars (23K+) and a longer track record. TinyBase is lighter and has a more opinionated tabular data model; RxDB offers richer query semantics and more backend sync options. TinyBase may be simpler to adopt for straightforward use cases.

nanostores

nanostores is a minimal reactive state library focused on simplicity and framework-agnosticism. TinyBase offers a much richer structured data model (tables, rows, relationships, indexes) and sync capabilities that nanostores lacks entirely. They target overlapping but distinct needs.

Jotai

Jotai is a React-centric atomic state manager with a large community. It does not offer persistence, sync, or tabular data primitives. TinyBase is a less general-purpose state manager but a more complete data layer for structured, persistent, or collaborative data.

PocketBase

PocketBase is a self-hosted backend-as-a-service (Go), fundamentally a server-side product. TinyBase is entirely client-side/edge. They can potentially complement each other but serve different architectural roles — TinyBase is not a PocketBase replacement.

Yjs / Automerge

Yjs and Automerge are CRDT libraries focused on collaborative document editing. TinyBase integrates with both and adds a structured tabular layer on top. TinyBase is higher-level and more opinionated; Yjs/Automerge offer lower-level, more flexible conflict resolution primitives.