Next Steps
You’ve got a running todo app. From here, follow one of these threads depending on what you’re trying to add.
Understand what plasma is doing
Section titled “Understand what plasma is doing”- Mental model — the three layers plasma is built on
- Schema and mutators — how the isomorphic types actually work
- Optimistic vs canonical — why the client sees mutations before the server does, and what reconciles them
- Push, pull, rebase — the sync loop in detail
- clientID vs clientGroupID — the identity model
- Change log and cookies — the data structures the sync loop hands around
Grow the schema
Section titled “Grow the schema”- Schema DSL — every column type, modifier, and option
- Refs and cascades — foreign
keys,
onDelete, subscript ergonomics - Migrations — how
ensureSchemaandrunMigrationshandle schema evolution
Handle multi-user data
Section titled “Handle multi-user data”- Auth and permissions —
auth.read,auth.write, and how they run on both sides - Conflict resolution — when the server row and the client row can’t be reconciled by rebase alone
Add files and rich state
Section titled “Add files and rich state”- Files and blobs — the
file()column type, R2 storage, andusePlasmaFile - CRDT columns — G-Counter / PN-Counter / LWW-Register / OR-Set
- Encryption —
.encrypted()columns, DEK wiring, at-rest vs E2EE trade-off
Ship it
Section titled “Ship it”- Deployment — Wrangler, D1, R2, environment wiring
- Testing — fake-indexeddb for the client, Miniflare
@cloudflare/vitest-pool-workersfor the server
- Devtools — the in-page panel and the Chrome DevTools bridge
Reach for advanced features
Section titled “Reach for advanced features”- Offline mode —
PlasmaClientOptions.offlineand per-tablechangeLogSuppressed - Multi-region — the
SequencerDOand the causal cookie - Live queries in detail —
subscribeDelta,whenReady, IVM eligibility
Real apps
Section titled “Real apps”- Todo app — the Quick Start built out into a complete deployable project
- Offline notes with files — offline mode + image attachments + R2
Something broke
Section titled “Something broke”- Troubleshooting — indexed by symptom. If you got an error message, start here.