Tech Stack
Comprehensive technology stack for Voice Sementle - a daily voice puzzle game where pronunciation matters. Built with modern Python frameworks, AI models, and cloud services.
System Architecture
Frontend
Python-based UI framework. Powers interactive web interface with voice input, real-time feedback, modals, and dynamic game state transitions.
Client application language. Leverages type hints, async/await patterns, and modern Python features for clean, maintainable code.
Async HTTP client library for communicating with backend services and external APIs with full HTTP/2 support.
Custom styling with animated backgrounds, modal components, radar charts, and responsive design for optimal user experience.
Backend Services
Modular service architecture including voice analyzer, hint generator, database layer, and game state management with async/await support.
Data validation and settings management with type safety, automatic serialization, and schema validation.
Native Python async library for concurrent operations, enabling efficient handling of multiple voice analysis requests.
Environment variable management from .env files for secure API keys and configuration settings.
Database
Production-grade relational database. Stores user sessions, game history, daily puzzles, attempt statistics, and score analytics.
PostgreSQL adapter for Python. Provides efficient database connections and query execution with connection pooling.
Persistent data storage with Docker volumes ensuring database persistence across container restarts.
AI / Machine Learning
Multimodal AI model powering intelligent hint generation, contextual feedback, and adaptive difficulty based on player performance.
Advanced text-to-speech API with voice cloning. Generates partial audio hints with reference voice matching for natural gameplay experience.
Numerical computing library for audio signal processing, feature extraction, and statistical analysis of voice patterns.
Data analysis library for processing game statistics, tracking user progress, and generating performance insights.
Model Context Protocol (MCP)
Model Context Protocol client for seamless AI model integration. Manages sessions, tool calling, and context sharing across AI services.
Voice analysis MCP server providing voicekit_analyze_voice_similarity tool. Compares user recordings with reference audio for pronunciation scoring.
Server-Sent Events client for real-time MCP communication. Enables streaming responses and bidirectional tool invocation.
Audio Processing
Audio manipulation library for format conversion, normalization, compression, and audio file editing with effects processing.
Multimedia framework for audio encoding/decoding. Handles format conversion and compression for optimal file sizes.
Audio data encoding for API transmission. Converts binary audio to base64 strings for MCP tool parameters.
Async file operations for non-blocking audio file I/O. Enables concurrent file processing without blocking the event loop.
DevOps & Tools
Containerization platform providing consistent development and deployment environments across all systems.
Multi-container orchestration for managing PostgreSQL database service with volume persistence and networking.
Secure configuration management with .env files for API keys (Gemini, ElevenLabs, VoiceKit) and sensitive settings.
Automated deployment scripts (start.sh, stop.sh) for streamlined application lifecycle management.
Deployment platform hosting VoiceKit MCP server and application demos with integrated spaces for testing.
Comprehensive logging system for debugging, monitoring API calls, tracking errors, and performance analysis.