Show HN: Syncular – offline-first SQL sync with TypeScript and Rust cores

Aug 02, 2026 04:48 PM - 2 hours ago 3

Animated syncular ASCII singularity

Server-authoritative, offline-first SQL sync you tin operate. Clients support a real section SQLite database (OPFS successful the browser, autochthonal SQLite elsewhere), writes spell done an optimistic outbox, and 1 ordered perpetrate log connected the server stays the root of truth.

Documentation · Quickstart · Live demos · Benchmarks · Blog

bun create syncular-app my-app
  • Spec-first: SPEC.md is normative and spec/vectors/ are aureate fixtures; erstwhile spec and code disagree, the codification changes. Two cores (TypeScript and Rust) are kept in lockstep by an implementation-agnostic conformance suite.
  • Test doctrine: loopback in-memory carrier for integration scenarios; fault injection astatine the carrier interface; tests hold connected definitive readiness signals (sleeps are banned); real-socket tests fewer and quarantined. See packages/conformance.
  • One bully path: the browser persists to OPFS and reports unsupported environments arsenic errors; sync runs complete the WebSocket.
Path What it is
packages/core Protocol codecs, shared types, vector round-trip
packages/server handleSyncRequest(bytes, ctx) + storage/auth interfaces (SQLite, Postgres, D1)
packages/server-hono, packages/server-workers Framework bindings (Hono, Cloudflare Workers)
packages/web-client @syncular/client: TS customer halfway connected @sqlite.org/sqlite-wasm
packages/react React hooks complete the client
packages/typegen Schema IR + TypeScript emitter, named queries (cargo-free)
packages/crypto, packages/crdt-yjs Per-column E2EE primitives, Yjs CRDT mergers
packages/testing @syncular/testkit: in-memory loopback of existent server + clients
packages/conformance Scenario runner some cores must pass
rust/ The Rust customer halfway and its C-ABI FFI crate
bindings/ Tauri, React Native, Swift, Kotlin, Flutter
apps/docs The docs tract (syncular.dev)
bun install bun tally cheque # typecheck + lint + test

Read AGENTS.md first. The doctrine successful it (spec-first, no fallbacks, nary timers successful tests, cross-core parity) applies to quality and machine contributors alike.

On AI assistance: LLMs are invited for tests, reproductions, benchmarks, docs, and accumulation code. Review, understand, and iterate connected everything you submit, and beryllium fresh to take sides each line; accumulation codification gets the strictest review. In syncular's ain development, LLM assistance is used mainly for penning tests and iterating complete method concepts, nether that same reappraisal bar. Low-effort machine-generated PRs, issues, and comments are closed without comment. The afloat argumentation and the plain-text docs bundle for agents unrecorded at syncular.dev/llms.

More