An imagined lake between Bavaria and California: Munich towers, an academic stone facade, the Golden Gate Bridge and Berkeley’s Campanile among alpine forests, with a little ghost on the shore.

Focus on Product.
We Handle Sync.

$ npx @spooky-sync/cli@canary create

It's sp00ky. Data changes, every screen updates. Reactive queries keep every tab, every device, and every user in sync, instantly.

Experimental Demo

Explore a live app built with sp00ky. Powered by CRDTs, file buckets, and real-time sync.

Try it now
sp00ky threads demo

How it works

The magic happens
behind your database.

sp00kyClient

Instant on your device.

Read locally. Update immediately. The sp00ky client syncs with SurrealDB through your user’s session, and keeps your app reactive while offline.

Explore local-first sync
SurrealDB

Your data. Your rules.

SurrealDB handles authentication and data access. sp00ky compiles supported select permissions into live-query filters, so synced views follow the same rules.

How permissions work
sp00kyDBSP

Private by architecture.

DBSP updates affected views and writes per-user sync references back to SurrealDB. Keep its ingest endpoints on your private network. Your app connects only to the database.

Inside the sync engine

One connected system.Your app. Your database.
Your private sync engine.

Almost ready.

We're putting the finishing touches on sp00ky. Drop your email and you'll be first through the door.

// no spam, one note when beta opens