~/talk

Local-first: experiments & lessons learned building TypeCell

Talkat PLF 2023 · 2023-10-22..10-27· [software-architecture]
slides:none on file

TypeCell is a Notion-like, live-programming knowledge base built on Yjs that uses a reactive UI and lazy-loaded Yjs documents; SyncedStore bridges Yjs to MobX/React and Vue so UI components auto-update without manual observers. Experiments send CRDT updates over Matrix and Nostr via Matrix-CRDT and Nostr-CRDT (worked but hit encryption and permission limits). Current backend moves to Supabase/Postgres with HocusPocus for sockets to support cascading permissions, cross-document refs, search, and practical background-sync tradeoffs.

AI-written summary · about

  1. 0:00TypeCell introduction
  2. 1:24Design principles
  3. 2:54Live demo
  4. 4:21Yjs resource architecture
  5. 7:09Lazy loading & offline sync
  6. 9:25Local-first architecture
  7. 10:28SynStore for Yjs
  8. 12:13View layer reduction
  9. 13:39Sync layer challenges
  10. 14:00Matrix backend experiments
  11. 16:31Decentralized backend limits
  12. 17:32Supabase for permissions
  13. 18:36Cross-document operations
  14. 19:39Conclusion & productivity
  15. 21:47Q&A: Lazy loading
  16. 23:57Q&A: Access control
  17. 25:20Q&A: Sync mechanics
  18. 27:50Q&A: Sync framework
  19. 29:13Q&A: Background sync
~/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.