~/talk

Building a Sync Engine in Clojure

Talkat Clojure/conj 2024 · 2024-10-23..10-25· [frontend-architecture]
slides:none on file

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

  1. 0:00The complexity of modern apps
  2. 2:00A history of architectures
  3. 12:01The hybrid app revolution
  4. 14:45The challenge of state management
  5. 22:16Database problems in disguise
  6. 23:34Implementing Instant
  7. 30:21Clojure as a secret weapon
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.