Building a Sync Engine in Clojure
summary
Claim is concrete: a production sync engine that gives client code a local triple store persisted to IndexedDB with a transaction queue, optimistic updates and offline-first behavior. Queries are expressed as tree-shaped requests compiled to a Datalog-style query engine that generates subscriptions; reactivity comes from matching transaction patterns to query topics. Permissions run as sandboxed rules compiled to the JVM. Global storage uses a single Aurora Postgres table with app_id multi-tenancy and partial indexes. Built by a three-person team and open sourced.
AI-written summary · about
chapters (7)
- 0:00The complexity of modern apps
- 2:00A history of architectures
- 12:01The hybrid app revolution
- 14:45The challenge of state management
- 22:16Database problems in disguise
- 23:34Implementing Instant
- 30:21Clojure as a secret weapon
related talks
28mMaking React Fun Again, with Sync Engines
43mLocal-First and Sync Engines, the Architecture of the Future?
22mRapid Development on Offline First Data Sync
49mEverything - But the Kitchen - Syncs
24mGoing Local-First: A Primer
32mReactive Data on the Full Stack
31mBrowser database for offline application use
31mClojure at 4,000 msg/s-What We Learned, Loved, and Loathed
