VenueVox AI

SaaS
Marketplace
AI Voice Agents
VenueVox AI

Tech Stack

Next.js 16
React 19
Typescript
Tailwind CSS 4
Redux Toolkit
Express.js
Prisma ORM
PostgreSQL
Vapi AI
Gemini AI
JWT Auth
Recharts
Radix UI
Zustand
Sonner
Docker

Description

VenueVox is a full-stack AI-powered marketplace that bridges the gap between live performance venues and independent artists. It provides a dual-role SaaS platform where venue organizations can list and manage their properties and bookable gig slots, while performers can search, discover, and request bookings — all within a seamless, role-aware dashboard.

Venue owners face a fragmented, manually intensive process when booking live performers: managing inbound calls, maintaining slot availability, coordinating schedules, and vetting talent. On the performer side, artists struggle to find gigs, identify appropriate venues, and navigate opaque booking pipelines. VenueVox unifies these workflows into a single platform.

Finding the right balance between a real-time booking pipeline and a conversational voice interface was a major architectural challenge. Vapi's webhook model required careful normalization of tool-call payloads, and integrating Gemini AI for context-aware natural language slot queries meant designing a resilient fallback mechanism to gracefully handle API rate limits during live phone calls.

I built a decoupled Next.js frontend and Express.js backend, connected via RESTful APIs and secured with JWT-based role authentication. The booking pipeline supports multi-state workflows (Available → Pending → Confirmed/Rejected) with real-time notification triggers on both sides. The AI voice receptionist is provisioned per-organization via the Vapi SDK, with per-org system prompts generated dynamically from venue database context.

The backend serves as the central webhook receiver for Vapi's tool calls. When a performer phones the AI receptionist and asks about available slots, the system queries the live PostgreSQL database via Prisma, sends the results to Gemini 3.1 Flash-Lite for natural language formatting, and returns a spoken answer back to the voice agent — all in under two seconds. A robust local fallback formatter ensures the agent always responds even when the AI API rate limits are hit.

Vapi's tool-call payload structure wraps function names inside a nested 'function' property, which differs from standard OpenAI format. Normalizing this on the webhook side before dispatching to handlers was a critical fix that resolved all 'Unsupported tool call: undefined' errors. Additionally, returning both a human-readable spoken answer and a raw slot metadata object in the same tool response allowed Vapi's LLM to silently reference slot IDs for booking without ever speaking them to the caller.

Implemented a graceful Gemini API fallback: if the primary AI request fails (e.g., HTTP 429 rate limit), the system generates a fully formatted, natural language slot description from the raw database results locally using date/time formatting utilities — ensuring zero silent failures on live phone calls.

VenueVox enables venue organizations to provision AI voice receptionists in under 60 seconds, handle inbound performer inquiries 24/7, and manage complex multi-venue booking pipelines from a single dashboard. Performers can discover venues, browse live slot availability, make booking requests, and even phone-book via the AI receptionist — eliminating the back-and-forth email chain entirely.

  • Dual-role platform: separate dashboards for Venue Organizations and Performers
  • AI Voice Receptionist powered by Vapi SDK with per-org dynamic system prompts
  • Gemini 3.1 Flash-Lite integration for natural language slot query answering
  • Live calendar slot management with status lifecycle: Available → Pending → Confirmed
  • Phone-based slot booking via conversational AI agent (no app required for callers)
  • Resilient voice webhook with graceful AI fallback for rate-limited environments
  • Multi-venue organization support with dedicated venue manager role assignments
  • Real-time in-app messaging between venues and performers
  • Notification system with unread badge counts and live event triggers
  • Performer discovery with location, genre, pricing, and equipment filters
  • Booking request pipeline with confirm/reject controls for venue managers
  • Organization-level Voice AI provisioning, configuration, and deprovisioning panel
  • Live call transcript viewer within the AI configuration sandbox
  • Call log history with duration, cost, and Vapi call status tracking
  • Role-based access control: Organization, Performer, and Manager permission tiers
  • JWT-secured REST API with HttpOnly cookie session management
  • Swagger-documented API with full OpenAPI spec
  • PostgreSQL database with Prisma ORM and cascading relational schema
  • Dockerized local development environment
  • Recharts analytics dashboard for venue slot and booking performance

    Sahil Jain - Full Stack Engineer