The open-source collection of production-ready recipes for building voice AI agents.
This repository powers speechstack.com — a curated directory of real-world voice agent implementations across Vapi, Retell, LiveKit, Cartesia, ElevenLabs, Pipecat, Bland, and the rest of the voice AI stack.
Each recipe is a single JSON file that documents a working voice agent: its use case, the full stack (telephony + STT + LLM + TTS), unit economics, latency, prompt, configuration, and a link to a public source repo or demo.
Got a voice agent you've built? We'd love to feature it.
- Copy
recipes/_template.jsontorecipes/your-recipe-slug.json - Fill in the fields (see
schema/recipe.schema.jsonfor the spec) - Open a pull request
- Our bot will validate it automatically in ~30 seconds
- We review and merge within 48 hours
See CONTRIBUTING.md for the full guide.
✅ A real, working voice agent — not a hello-world ✅ Anchored to a specific use case — "dental front desk," not "voice agent" ✅ Documents the full stack — telephony + STT + LLM + TTS + framework ✅ Includes a public source — GitHub repo, demo video, or live URL ✅ Reports economics — estimated $/min and latency, where known
Anything less is a blog post link, not a recipe. We hold this line so the directory stays useful.
speechstack-recipes/
├── recipes/ # The recipe JSON files
│ ├── _template.json # Template for new submissions
│ ├── prompts/ # Long-form prompt content (Markdown)
│ └── *.json # One file per recipe
├── schema/
│ └── recipe.schema.json # JSON Schema (enforced on every PR)
├── data/
│ ├── vendors.json # Allowed vendor names per stack layer
│ ├── use-cases.json # Controlled vocabulary
│ └── industries.json # Controlled vocabulary
├── scripts/
│ ├── validate.js # Local validation (also runs in CI)
│ └── liveness.js # URL liveness checks
└── .github/workflows/
└── validate.yml # Runs validation on every PR
Before opening a PR, validate locally:
npm install
npm run validateThis runs the same checks the CI does:
- JSON schema validation
- Recipe ID and slug uniqueness
- Vendor name allowlist
- Use case / industry controlled vocabulary
- URL liveness (with
npm run liveness)
This repository uses a dual license:
- Code (schemas, validators, scripts, workflows) is licensed under MIT.
- Recipe data (everything in
recipes/) is licensed under CC-BY 4.0.
In plain English: you can use the recipes in commercial work as long as you credit Speechstack. You can use the code however you want. See LICENSE.md for the explainer.
This will populate automatically as recipes are added.
- Total recipes: generated at build
- Vendors covered: generated at build
- Industries: generated at build
- Last updated: generated at build