Voice-to-App Builder — Speak your app idea, get a working Android app.
Resonare lets you describe an app in plain English (voice or text), then generates a fully functional React Native/Expo app with AI. No coding required.
- 🎤 Voice Input — Describe your app idea by speaking
- ✏️ Text Fallback — Type your idea if you prefer
- 🤖 AI-Powered Generation — Claude generates complete app code iteratively
- 📱 Live Preview — See your app before building
- 📦 APK Download — Get a real Android APK to install
- 🔐 Secure Auth — Supabase authentication with JWT verification
┌─────────────────────────────────────────────────────────────┐
│ Mobile App (React Native/Expo) │
│ screens/: Auth, NewProject, Conversation, Generating, │
│ ProjectList, ProjectDetail, Preview │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ n8n Workflow (Intake & Orchestration) │
│ - Receives project descriptions │
│ - Triggers VPS API for code generation │
│ - Sends push notifications on completion │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ VPS API (Express.js + Docker) │
│ - /api/generate: AI code generation (Claude) │
│ - /api/build: EAS build trigger │
│ - /api/download: ZIP/APK download │
│ - /api/ai: Proxied AI calls with usage tracking │
└─────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Supabase (Backend) │
│ - Auth (users, sessions) │
│ - Database (projects, generations, usage) │
│ - Storage (generated files, APKs) │
└─────────────────────────────────────────────────────────────┘
- Node.js 18+
- Expo CLI (
npm install -g expo-cli) - Supabase project
- n8n instance (for webhook workflows)
- VPS with Docker (for code generation API)
npm installcp .env.example .envEdit .env with your values:
| Variable | Description |
|---|---|
EXPO_PUBLIC_SUPABASE_URL |
Your Supabase project URL |
EXPO_PUBLIC_SUPABASE_ANON_KEY |
Supabase anon/public key |
EXPO_PUBLIC_N8N_WEBHOOK_URL |
n8n intake webhook URL |
EXPO_PUBLIC_WEBHOOK_SECRET |
HMAC signing secret (match n8n) |
EXPO_PUBLIC_VPS_API_URL |
VPS API base URL |
EXPO_PUBLIC_ELEVENLABS_API_KEY |
ElevenLabs API key (voice) |
See the /api directory for the VPS API setup:
cd api
cp .env.example .env
docker-compose up -dnpm start
# or
npm run android- Describe your app — Speak or type what you want to build
- Answer questions — The AI asks clarifying questions about features, colors, icons
- Watch generation — See progress as Claude iteratively builds your app
- Preview & download — Test in preview, then download the APK
screens/ — App screens (Auth, NewProject, Generating, etc.)
services/ — API services (auth, icons, VPS, webhooks)
contexts/ — React contexts (Auth)
components/ — Reusable UI components
constants/ — Colors, config
api/ — VPS Express server (generation, builds, downloads)
agents/ — Claude generation agents
middleware/ — Auth, rate limiting
routes/ — API endpoints
services/ — File tools, AI proxy
- JWT verification — All API requests verify Supabase JWTs
- Ownership checks — Users can only access their own projects
- HMAC webhooks — Signed webhook payloads prevent tampering
- Sandboxed generation — Path traversal protection in file operations
- Non-root Docker — API runs as unprivileged user
# Start Expo dev server
npm start
# Build APK (requires EAS)
eas build --platform androidMIT