Skip to content

Festival planner voice agetn

Help me and friend plan a festival trip

Core trick

Twilio calls feed a Pipecat pipeline where Claude calls tools that write group and festival records to a database.

Tags

Description

Help me and friend plan a festival trip
YichiZ/festival-coordinator★ 00 forksTypeScriptCreated Feb 7, 2026 · last push Mar 13, 2026

README excerpt

# Festival Coordinator

A voice-based AI assistant that helps friend groups plan festival trips together. Users call in via phone, and the AI helps them form groups, pick festivals, track members, and coordinate plans — all through natural conversation.

## Architecture

The system is split into three services:

### Voice Agent (`bot.py`)

The core of the product. A real-time voice pipeline built with **Pipecat** that handles phone calls end-to-end:

- **Telephony** via **Twilio** — receives inbound calls, identifies callers by phone number
- **Speech-to-Text / Text-to-Speech** via **Cartesia**
- **Conversation** via **Anthropic Claude** (Haiku 4.5) — the LLM drives the dialogue and calls tools to save groups, members, festivals, and artists to the database
- **Smart turn detection** using Pipecat's `LocalSmartTurnAnalyzerV3` + Silero VAD to know when the user has finished speaking
- **Local dev** via **Daily WebRTC** transport for browser-based testing without a phone

On disconnect, the bot summarizes the full transcript via a separate Claude API call and persists it.

### REST API (`backend/`)

A **FastAPI** server exposing CRUD endpoints over the database. Serves as the data layer for the frontend.

- Group-scoped endpoints: `/groups/{id}/members`, `/groups/{id}/festivals`
- Festival catalog: `/festival-catalog` for browsing available festivals
- Standard CRUD for groups, members, festivals, artists, and calls

### Frontend (`frontend/`)

A **React** + **TypeScript** sing

Team