Introduction
Multi-platform, E2E type-safe realtime packages
pluv.io allows you to more easily build real-time collaborative features with a fully end-to-end type-safe API.
Existing open-source tools for building real-time APIs come with several trade-offs. With socket.io or y-websocket, you get built-in support for things like heartbeats, rooms and awareness without any automatic type-safety server-to-client. Meanwhile, with GraphQL you get type-safety in subscriptions but lose those same features. pluv.io unifies these experiences by providing common websocket API capabilities and end-to-end type-safety server-to-client.
Bring your own runtime, framework and CRDT
While pluv.io offers a fully managed service, pluv.io was built to self-host on either Node.js or Cloudflare Workers. Support for multiple frameworks is also planned, with React already available with @pluv/react. If you're building for other frameworks, @pluv/client is framework agnostic and can meet your needs for now.
pluv.io's shared data-storage (Storage) is built on top of Yjs and Loro, allowing you to pick whichever better fits your application.
Features and roadmap
Capabilities
- Automatic type-safety
- Basic events
- Rooms
- Authentication
- Awareness + Presence
- CRDTs
- Studio (admin & developer panel)
Runtimes
- Cloudflare Workers
- WebSocket API
- Hibernation API (default, recommended)
- Standard API
- State Persistence
- SQLite-backed Durable Objects (default, recommended)
- Key-value storage-backed Durable Object
- WebSocket API
- Node.js