Build diagrams at the speed of speech.
π Winner @ Canada's largest AI hackathon (top 10 out of 250+ projects).
YapDraw is Wispr Flow for Excalidraw.
Describe anything out loud β a system architecture, a business process, a research workflow, a project plan β and it draws it as a clean, editable Excalidraw diagram. No code, no syntax, no drag-and-drop. For anyone who has ever stared at a blank whiteboard.
yapdraw_demo_new.mp4
Watch it on YouTube.
- Just talk β mid-sentence corrections, filler words, backtracking β it reflects your intent, not your exact words. No syntax, no templates.
- Incremental updates β the current diagram and your manual edits are always passed as context. Say "add X" and only X changes β unlike one-shot generators that rebuild from scratch.
- Local-first β auto-saves to your browser. No account, no data leaving your machine.
- Undo AI changes β every generation is snapshotted. Use
[/]to step through AI change history without touching anything you edited manually. - Three modes β Freeform (anything), System Architecture (layered service graphs), Process Flowchart (decision trees, approval flows, research plans).
- Open the library and create a new diagram
- Pick a mode β when in doubt, use Freeform
- Hit the mic and describe what you want
- Keep talking to refine β add, remove, or change anything
- Drag nodes around, or use
[/]to step through AI change history
Works out of the box on the free tier. For higher limits, add your own OpenRouter or Gemini key in the settings panel (βοΈ top right).
Tips:
- Talk like you're explaining it to someone, not writing a spec. "So we have a React frontend, it calls our Node API, which reads from Postgres β oh and Redis for session caching" works perfectly.
- Corrections are handled automatically: "it connects to S3 β actually we use GCS" will use GCS.
- For updates, just say what changed: "remove the message queue" or "add an analytics service between the API and the database."
- Framework: Next.js
- Canvas: Excalidraw
- Layout engine: Dagre
- Speech-to-text: Deepgram
- Storage: Dexie (IndexedDB, local-first)
npm install
cp .env.example .env
npm run devRequired env vars:
DEEPGRAM_API_KEY=... # console.deepgram.com β create with Admin role (not default Member)
DEEPGRAM_PROJECT_ID=... # console.deepgram.com β your project settings
GROQ_API_KEY=... # console.groq.com β free tier availableYou can also bring your own OpenRouter or Gemini key via the in-app settings β no env var needed for that.
Deploy your own instance in a few steps:
- Fork this repo
- Create a Vercel project and import the fork
- Add the required environment variables in Vercel's project settings:
DEEPGRAM_API_KEY=... DEEPGRAM_PROJECT_ID=... GROQ_API_KEY=...
- Deploy β Vercel will build and serve the app automatically
No database setup needed. All diagram data is stored locally in the user's browser.
PRs are welcome. For anything beyond small fixes, open an issue first so we can align on the approach.
Built on top of Excalidraw β the open-source canvas that makes the drawing side possible.
MIT.
Check out our Devpost page.
