Collaboration · Real-Time
Pivot
Open collaboration platform — Notion-style docs, real-time messaging, and LiveKit audio/video in one cross-platform product (web, iOS, Android, desktop).

Overview
Docs-grade collaborative editing, sub-second presence, and reliable audio/video in one product across web, iOS, Android, and desktop.
The challenge
Teams and communities juggle separate tools for documents, chat, and calls — context is scattered and real-time collaboration breaks across apps and devices. Delivering Google-Docs-grade collaborative editing, sub-second presence, and reliable A/V across four platforms demands a backend that stays consistent and observable in production.
The solution
Service-oriented backend (~20 microservices) on AWS EKS with protobuf-first Connect-RPC APIs, a NATS JetStream event bus, and Temporal for durable workflows. Polyglot persistence (Aurora Postgres, Cassandra, Valkey, Turbopuffer, S3). Realtime layer: custom Pilot (WebSocket) + Dealer (pub/sub fan-out); collaborative block editing via Yjs CRDT merged server-side. A single React Native + Expo codebase (Tauri on desktop) serves all four platforms.
What we delivered
- Across the stack — Go/TypeScript microservices, realtime systems, React Native frontend
- Realtime collaboration on Pilot/Dealer: presence, typing indicators, live cursors, Yjs block editing
- Connect-RPC/gRPC services with shared protobuf contracts, backed by NATS event streams
- Cross-platform UI including the Lexical + Yjs collaborative editor
- LiveKit A/V (rooms, recording, transcription) and AI features (RAG/vector search, summaries)
- EKS + Argo CD pipeline: affected-service deploys, OpenTelemetry, integration tests
Architecture
Clients (React Native) — Web · iOS · Android · Tauri desktop
│
Edge / API — friend (Connect-RPC) · visa (auth) · pilot (WebSocket) · rest
│
AI / Search — asimov · quest
Domain (Go) — facebox · messenger · blockhead · blobby · buzzer · stagehand · uconf
Realtime — dealer (pub/sub fan-out) · fusion (Yjs merge)
│
NATS JetStream + Temporal
Aurora Postgres (Ent + Atlas) · Cassandra (high-write) · Valkey · Turbopuffer
AWS EKS — Helm · Argo CD · Karpenter · Cilium mTLS · OTEL → AxiomKey engineering decisions
- Service-oriented from day one — one database per service, hard domain boundaries
- Protobuf as single contract for Connect-RPC and NATS events (Go + TypeScript clients)
- Split realtime: Pilot (connections) vs Dealer (fan-out) for independent scaling
- Yjs CRDT for collaborative editing; Friend/RPC as source of truth over ephemeral Pilot state
- Polyglot persistence: Postgres relational, Cassandra high-write, Valkey cache, Turbopuffer vectors
- One React Native codebase for web, iOS, Android, and Tauri desktop
Tech stack
Engagement
2022 – present · Product Engineer with Meridian University
Results
~20
Microservices
4 (web, iOS, Android, desktop)
Client platforms
50+
Blocks
Helped build a modern collaboration platform that enables organizations to communicate, collaborate, and manage work within a single scalable product — Docs-grade editing, messaging, and A/V on a production-observable microservice backend.
Lessons learned
- At this scale, reliability is a feature: strict service boundaries, protobuf contracts, and treating realtime state as ephemeral (RPC as source of truth) keep multiplayer fast and correct.
Have a hard problem like this?
Let's talk about what you're building.