VoiceQuest is an accessible, voice‑controlled gamified learning app built for people with physical disabilities. It turns assignments into engaging study quests using assignment metadata, letting users learn and progress hands‑free with interactive voice interactions.
| Feature | Description |
|---|---|
| Voice Control | Capture user speech with the Web Speech API and respond with natural audio using ElevenLabs TTS. |
| Gamified Quests | Transform assignment metadata into meaningful, structured study quests with XP, levels, and progress. |
| Persistent Progress | Track user XP, streaks, completed quests, and achievements using SQLite. |
| Adaptive Content | Use OpenAI’s GPT‑4o‑mini to interpret voice commands and generate dynamic quest questions. |
- React – Interactive UI for displaying quests and feedback.
- TypeScript – Static typing for safer, scalable code.
- Web Speech API – Browser‑native speech‑to‑text input.
- ElevenLabs TTS – High‑quality generated voice feedback.
- Python + Flask – Fast, lightweight server for API endpoints and quest logic.
- SQLite – Relational database for storing users, progress, quests, and achievements.
- OpenAI GPT‑4o‑mini – Interprets assignment metadata and voice commands and generates adaptive quest content.
Make sure you have the following installed:
- Python 3.9+
- Node.js 16+
- npm or yarn
-
Clone the Repo
git clone https://github.com/utopianvision/voicequest.git cd voicequest -
Backend Setup (Python + Flask)
python3 -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt export OPENAI_API_KEY="YOUR_OPENAI_KEY" export ELEVENLABS_API_KEY="YOUR_ELEVENLABS_KEY" python init_db.py # Create SQLite schema python app.py
-
Frontend Setup (React)
cd src npm install npm run dev -
Open in Browser Navigate to
http://localhost:5173to start using VoiceQuest.
- React captures spoken input via the Web Speech API.
- The backend receives voice transcripts and uses OpenAI GPT‑4o-mini to generate tailored quests based on assignment metadata.
- ElevenLabs TTS provides natural audio feedback, and SQLite persists user progress, achievements, and session state.
- Speak commands such as “Start a new quest for my math homework.”
- VoiceQuest generates a quest with adaptive questions.
- Complete quests hands‑free and earn XP, level up, and unlock achievements.