Rembrr is a voice and chat agent platform I built from architecture to production release. Real-time voice runs through LiveKit and Gemini Multimodal Live over a WebSocket proxy; the backend is FastAPI on GCP, with a self-hosted Supabase instance for auth and data.
Sensitive data is protected with application-level envelope encryption using GCP Cloud KMS — a KEK/DEK pattern with AES-256-GCM. Long-term memory is handled by a RAG system built on Gemini embeddings, pgvector, and hybrid ranking, with background extraction running on Cloud Scheduler.
The app is published on the iOS App Store, with the usual product-lifecycle work that implies: build management, screenshot compliance, and iterating on real user feedback.
Notable decisions
- Self-hosted Supabase over managed — more control over the data layer, with a GCS-backed backup strategy with integrity checks.
- Moving off Supabase Realtime — reliability and connection-lifecycle control matter more for a real-time voice product than the convenience of staying inside one vendor’s stack.
- Prompt management as data, not code — migrating from f-string prompts to a Supabase-backed loader, so prompts can be hot-swapped without a redeploy.