An AI-powered virtual receptionist enabling 24/7 customer support and call automation.
Many small businesses miss potential customers simply because nobody is available to answer every call. Missed inquiries often mean missed appointments, missed bookings, and lost revenue.
VocaAI was built to solve that problem. It acts as an AI-powered receptionist that can answer incoming calls, respond to common customer questions, and remain available outside normal business hours.
Hiring and training reception staff can be expensive, especially for small businesses that receive recurring customer inquiries. Customers often call to ask the same questions:
- What are your business hours?
- Do you have availability?
- How can I book an appointment?
- What services do you offer?
When these calls go unanswered, businesses lose opportunities.
VocaAI provides a voice-based AI receptionist capable of handling common customer interactions automatically. The system listens to incoming requests, understands customer intent, generates contextual responses, and replies in real time through a natural voice interface.
This repository contains both the frontend and backend applications:
/frontend: The Next.js web application for the user dashboard and AI setup./backend: The Node.js/Fastify server handling real-time audio streaming between Twilio and OpenAI.
- Natural voice-based interaction
- Low-latency speech processing
- Context-aware responses
- Answers frequently asked questions
- Provides service and availability information
- Supports appointment and inquiry workflows
- Call analytics and usage tracking
- Secure authentication (NextAuth.js + MongoDB)
- Conversation logging and monitoring
- Easy-to-use interface to configure your business AI agent
- Real-time audio streaming from Twilio to OpenAI Realtime API.
- High-performance Fastify server with WebSocket endpoints.
- Webhook Integrations to deliver structured data from calls to external services (e.g., Make.com).
- Node.js
- OpenAI-Realtime-API
- Next.js
- TypeScript
- Fastify
- Twilio
- MongoDB
- Tailwind CSS
- Maintaining low-latency voice conversations
- Handling interruptions and conversational context correctly
- Managing real-time audio streaming between client and model
- Designing responses that feel natural and helpful
- Building reliable business analytics around AI conversations
- Designing voice-first AI experiences
- Working with real-time multimodal AI systems
- Managing streaming audio and low-latency communication
- Balancing user experience with AI response quality
- Turning LLM capabilities into practical business tools
To run the entire VocaAI platform locally, you will need to start both the backend and frontend servers.
git clone https://github.com/dilpreet579/voca-ai.git
cd voca-aiNavigate to the backend directory and install dependencies:
cd backend
npm installCreate a .env file in the backend directory:
OPENAI_API_KEY=your_openai_api_key
WEBHOOK_URL=https://your.webhook.url/endpoint
PORT=3001Start the backend server:
node index.jsOpen a new terminal, navigate to the frontend directory and install dependencies:
cd frontend
npm installCreate a .env.local file in the frontend directory:
MONGODB_URI=your_mongodb_connection_string
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret_key
OPENAI_REALTIME_API_URL=http://localhost:3001Start the frontend development server:
npm run devVisit http://localhost:3000 to view the app.
- Frontend Configuration: The "Setup AI" page on the VocaAI website lets users define their business's system prompt and agent script.
- Backend Sync: Upon saving, the frontend sends the configuration to the backend's
/system-messageendpoint. - Call Handling: When a call comes in via Twilio, the backend uses the latest synchronized prompt to drive the real-time interaction via the OpenAI Realtime API.
- Frontend: Can be easily deployed to Vercel, Netlify, or any preferred Node.js host. Ensure environment variables (MongoDB URI, Auth Secret, Backend URL) are set.
- Backend: Can be deployed on any Node.js-compatible server or cloud platform. Expose the correct port and secure the API endpoints.
Ensure that the deployed frontend URL (NEXTAUTH_URL) and backend URL (OPENAI_REALTIME_API_URL) are correctly mapped in your production environment.
- Powered by Next.js, Node.js, Fastify, OpenAI, MongoDB, Twilio, and Tailwind CSS.
ISC
Note: For production, ensure all secrets are strong, HTTPS is enabled, robust error handling is implemented, and backend URLs are correctly secured.