Tandem is an open-source sync engine and client-side database that plugs into your existing infrastructure. Add the Tandem library to sync data in real time across your clients and server, without deploying any new services.
I started work on Tandem 6 years ago as a side project. I was frustrated by the sync engine landscape at the time, thinking I could build a better DX and require less lock-in. Even now, sync engine companies and “full-stack databases” need you to migrate to their database or provision a separate service with auth, networking, etc. This makes them annoying to maintain and also harder to adopt incrementally.
Tandem is designed to just be embedded into your existing frontend and backend code. You define a schema, set up a database adapter (any SQL-like database is supported), add the new sync endpoint to your existing API, and then you're good to go.
Tandem uses DST (Deterministic Simulation Testing) on every PR and nightly to ensure correctness. Our DST system Gatekeeper lets us model not only storage and network failures, but also race conditions, by gating each call between client/server/other services independently.
Tandem currently supports any React-based frontend, any serverful backend (like Cloudflare Durable Objects), and any SQL-like database. New adapters are easy to build, and PRs and issues are appreciated!
Open-source and MIT licensed: https://github.com/tanishqkancharla/tandem
Comments URL: https://news.ycombinator.com/item?id=50398763
Points: 1
# Comments: 0
