Room Service - Real Time Collaboration

Add real time collaboration to your app in 15ish minutes.

You know, like what Figma or Google Docs have. Multiple cursors, sockets, lots of people editing the same thing, that sort of thing.

// State stored in a CRDT,
// natively offline but updates in real-time.
const [state, setState] = useSharedState("my-room")
    
// Make changes like it's single player,
// Room Service makes it multiplayer.
setState(current => {
  current.lunchChoice = "ramen"
})

Add real time collaboration to your app in 15ish minutes.

You know, like what Figma or Google Docs have. Multiple cursors, sockets, lots of people editing the same thing, that sort of thing.

// State stored in a CRDT,
// natively offline but updates in real-time.
const [state, setState] = useSharedState("my-room")
    
// Make changes like it's single player,
// Room Service makes it multiplayer.
setState(current => {
  current.lunchChoice = "ramen"
})

Offline-first, Built-in CRDT, & Serverless Support.

Offline First. Someone lose connection? No worries, we cache data locally and then intelligently merge changes when the user comes back online. Never lose your work again!

CRDT... What? Merging data is really hard. So we keep everything in a distributed data-type that intelligently merges everyone's changes together. You can override the behavior if you'd like, but you'll be surprised how well it just works.

Serverless without rebuilding your stack. Unlike other real-time systems, we don't require you to keep an open connection to get access to your data. So if you're using Vercel's Now, AWS Lambda, Netlify functions, or any other serverless environment, you're already good to go. We can just send you a POST request when your data changes. Or, just autosave a copy straight from your client and you can decouple Room Service entirely from your backend.

peace out