A real-time voice AI app where children have a fun 60-second conversation with "Zubi", an AI friend, about a colorful ocean image.
- Frontend: React 18 + Vite
- Backend: Node.js + Express + WebSocket
- AI: Google Gemini Live API (
gemini-2.0-flash-exp) — FREE tier
- Visit aistudio.google.com
- Sign in with your Google account
- Click "Get API Key" — copy the key
cd backend
# Copy example env and fill in your key
copy .env.example .env
# Edit .env and paste your key as GEMINI_API_KEY=...
npm install
npm startcd frontend
npm install
npm run devGo to http://localhost:5173
Click "Talk to Zubi! 🎙️", allow microphone, and enjoy!
- 🎙️ Real-time bidirectional voice conversation
- 🌊 Vibrant child-friendly ocean illustration
- ⏱️ 60-second session timer with visual countdown
- 🎉 Tool call: AI triggers confetti & emoji burst when celebrating
- 🎵 Speaking indicator with animated audio bars
- 📱 Fully responsive (mobile + desktop)
interviewProject/
├── backend/
│ ├── server.js # WebSocket proxy → Gemini Live API
│ ├── .env # Your Gemini API key goes here
│ └── package.json
└── frontend/
├── src/
│ ├── App.jsx
│ ├── components/
│ │ ├── ImageScene.jsx
│ │ ├── ConversationPanel.jsx
│ │ ├── SpeakingIndicator.jsx
│ │ ├── TimerDisplay.jsx
│ │ └── UIEffect.jsx
│ ├── hooks/
│ │ └── useRealtimeSession.js
│ └── assets/ocean.svg
└── package.json