Skip to content

justin-nevins/resonare

Repository files navigation

Resonare

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.

Features

  • 🎤 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

Architecture

┌─────────────────────────────────────────────────────────────┐
│  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)                           │
└─────────────────────────────────────────────────────────────┘

Prerequisites

  • Node.js 18+
  • Expo CLI (npm install -g expo-cli)
  • Supabase project
  • n8n instance (for webhook workflows)
  • VPS with Docker (for code generation API)

Setup

1. Install dependencies

npm install

2. Configure environment

cp .env.example .env

Edit .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)

3. Set up backend services

See the /api directory for the VPS API setup:

cd api
cp .env.example .env
docker-compose up -d

4. Run the mobile app

npm start
# or
npm run android

How It Works

  1. Describe your app — Speak or type what you want to build
  2. Answer questions — The AI asks clarifying questions about features, colors, icons
  3. Watch generation — See progress as Claude iteratively builds your app
  4. Preview & download — Test in preview, then download the APK

Project Structure

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

Security

  • 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

Development

# Start Expo dev server
npm start

# Build APK (requires EAS)
eas build --platform android

License

MIT

About

Voice-to-App Builder - Speak your app idea, get a working Android app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors