What self-hosting gives you
| Capability | Details |
|---|---|
| Full infrastructure control | Run the backend, database, and job server wherever you want |
| Custom AI prompts | Edit lib/prompts.ts to change how the AI agent builds apps |
| Swap AI providers | Switch between Claude, Cursor, and Gemini with one env var |
| No usage limits | Your API keys, your quotas |
| Fork and modify | Change anything — UI, agent behavior, billing, templates |
What you need
Before you begin, you’ll need accounts and API keys from these services:| Service | Purpose | Required |
|---|---|---|
| Anthropic | Claude AI code generation | Yes (default agent) |
| E2B | Cloud sandboxes for code execution | Yes |
| Clerk | Authentication (shared by backend and mobile) | Yes |
| Convex | Real-time database | Yes |
| Stripe | Web payment processing | Optional |
| RevenueCat | Mobile in-app purchases | Optional |
| AssemblyAI | Voice-to-text transcription | Optional |
Architecture overview
When a user describes an app, this is what happens end-to-end:- User describes an app on their phone
- Backend creates a session in Convex
- Inngest spawns an E2B sandbox
- AI agent generates code inside the sandbox
- Updates stream via Convex back to the phone
- Phone shows a live preview via the sandbox tunnel URL
- Backend — the Next.js API server, Convex database, and Inngest job server
- E2B sandbox template — the Docker image that runs inside each cloud sandbox
- Mobile app — the modified Expo Go app that connects to your backend
Vibra Code is licensed under AGPL-3.0. If you distribute a modified version — including as a hosted service — you must release your modifications under the same license.
Setup guides
Deploy the backend
Set up Next.js, Convex, and Inngest on your own server.
Build the mobile app
Build the iOS and Android app from source using Xcode and Metro.
Build the E2B sandbox
Create and deploy a custom E2B sandbox template for code execution.
Environment variables
Complete reference for all backend and mobile environment variables.