A full-stack voice assistant application built with Vite + React on the frontend and Flask on the backend, integrated with Vapi and powered by GPT-5. The app allows users to fill in personal details and then engage in a voice-based conversation with a GPT-5-powered assistant configured with specific objectives, for example, evaluating if the user is a good fit for a certain job or program. After the call ends, the app automatically generates and displays a summary of the conversation.
-
User Information Form Collects first name, last name, email, and phone number before the conversation begins.
-
Voice-Based Interaction The assistant talks with the user in real time, powered by Vapi Agent and ChatGPT-5.
-
Custom Assistant Behavior Configurable prompts, objectives, and style in the official Vapi platform vapi.ai — for example, screening for a specific role or program.
-
Automated Conversation Summary After the call ends, a concise summary is displayed in the app.
-
Full-Stack Architecture
- Frontend: Vite + React for fast and responsive UI.
- Backend: Flask API to handle Vapi integration and server-side logic.
Frontend
Backend
Vapi-AI-Voice-Assistant/
│
├── frontend/ # Vite + React app
│ ├── src/
| | └── App.jsx
| | └── ai.js
| | └── App.css
| | └── call # contains the conversation components
│ ├──package.json
│ ├── vite.config.js
| └── .env
│
├── backend/ # Flask API
│ ├── main.py
│ ├── requirements.txt
│ └── .env
│
├── README.md
└── .gitignore
git clone https://github.com/tahangz/Vapi-AI-Voice-Assistant.git
cd Vapi-AI-Voice-Assistant
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
Run the backend:
python app.py
cd frontend
npm install
npm run dev
Create a .env
file in your frontend folder with:
VITE_VAPI_API_KEY="YOUR_VAPI_API_KEY"
VITE_ASSISTANT_ID="CHOOSEN_ASSISTANT_ID"
Create a .env
file in your backend folder with:
VAPI_API_KEY="YOUR_VAPI_API_KEY"
ASSISTANT_ID="CHOOSEN_ASSISTANT_ID"
- User visits the web app and fills out the form with personal details.
- The assistant starts a real-time voice conversation.
- The assistant’s behavior is based on custom prompts (e.g., job/program eligibility screening).
- Once the call ends, the system generates a summary of the conversation.
Pull requests are welcome! For major changes, please open an issue first to discuss what you’d like to change.