Blog.

Engineering deep-dives, product thinking, and design decisions from building Zanbase.

Posts
Engineering
Why local-first is the right default for workspace apps

Reads should never hit the network. Here's the case for IndexedDB as primary storage and why optimistic updates alone aren't enough.

Read →
Engineering
Designing a sync engine with automatic rollback

How we built a 4-phase write invariant that gives you instant UI, atomic persistence, and zero data loss when the network drops.

Read →
Design
What offline-first actually means for UX

Spinners are a symptom. When reads come from local storage, the entire mental model of a web app changes — and so does how you design it.

Read →
Product
One tree to rule them all: the resource model

Folders, docs, tables, projects, and chats — all as resources in a single nested tree. Why we unified the model instead of building per-type silos.

Read →
Engineering
Real-time presence without the complexity

Presence rooms, broadcast sync, and cursor tracking — built on a lightweight collab server that doesn't require a full CRDT for most use cases.

Read →
Product
Structured tables as first-class workspace citizens

Why every workspace app eventually reinvents the spreadsheet — and how we built tables with rich column types, filters, and relations from the ground up.

Read →