Skip to content

About

Deploy full-stack web apps with zero typing, just your voice.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

EchoMe

Say what you want to build. Get a live, deployed web app.

CI License: MIT Next.js TypeScript Claude

Demo video · Devpost · Architecture

EchoMe demo video

What it does

  • Voice in. Describe an app out loud; ElevenLabs speech-to-text turns it into a prompt.
  • Code out. Claude generates a complete Next.js project, file by file.
  • Live preview. The project boots in a Daytona sandbox and streams build progress to the browser over SSE.
  • Iterate. Browse the generated code, chat with Claude about it, or download it as a ZIP.
  • One-click deploy. EchoMe creates a GitHub repo and ships it to Vercel.
Typing test built with EchoMe
Typing test
Pomodoro timer built with EchoMe
Pomodoro timer
Finance tracker built with EchoMe
Finance tracker

Apps generated and deployed by EchoMe from a single spoken prompt.

Architecture

The browser only captures audio and renders the builder. Everything that holds an API key runs in Next.js route handlers. A build is fire-and-forget: the server calls Claude, parses the files, boots them in a Daytona sandbox, and streams each step back over Server-Sent Events. Deploys go through the GitHub Git Data API and the Vercel API.

flowchart LR
  User((User)) -- voice --> STT[ElevenLabs STT]
  STT -- prompt --> API[Next.js API routes]
  API -- generate --> Claude[Claude API]
  Claude -- files --> API
  API -- run --> Daytona[Daytona sandbox]
  API -- SSE progress --> UI[Builder UI]
  Daytona -. live preview .-> UI
  UI -- deploy --> GitHub[GitHub repo] --> Vercel[Vercel]
Loading

The full request flow, module map and design trade-offs are in docs/ARCHITECTURE.md.

Tech stack

Layer Tools
App Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4, shadcn/ui
AI Claude Messages API (code generation and chat), ElevenLabs Scribe (speech-to-text)
Runtime Daytona sandboxes for live previews
Auth Supabase
Deploy GitHub REST API, Vercel API
Quality Vitest, ESLint, GitHub Actions

Run locally

Prerequisites: Node.js 22, plus accounts and API keys for Anthropic, ElevenLabs, Daytona and Supabase. GitHub and Vercel tokens are only needed for one-click deploy.

git clone https://github.com/obro79/stormhacks.git
cd stormhacks
npm install
cp .env.example .env.local   # fill in your keys
npm run dev                  # http://localhost:3000
Variable Used for
CLAUDE_API_KEY Code generation and builder chat
CLAUDE_MODEL Optional model override
ELEVENLABS_API_KEY Speech-to-text
DAYTONA_API_KEY, DAYTONA_API_URL, DAYTONA_TARGET Live preview sandboxes
NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY Sign-in
GITHUB_TOKEN, GITHUB_USERNAME, VERCEL_TOKEN One-click deploy
CLEANUP_TOKEN Optional. Enables the admin sandbox cleanup endpoint

Tests

npm test            # Vitest: parser, validation, naming, log classifier, API routes
npm run lint
npm run typecheck
npm run build

CI runs all four on every push and pull request.

Team

Built at StormHacks 2025 by:

License

MIT

About

Deploy full-stack web apps with zero typing, just your voice.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages