Roadmap
Last updated: 2025-05-22
📋 About the Project
Speech Coach is a Telegram bot for practicing spoken English. Users receive questions, record voice answers, and the system processes them to provide feedback with recommendations for improvement.
🛠 Technologies Used
- Backend: FastAPI (Telegram server + webhook)
- Data Processing: FastStream + Redis Stream
- Data Storage: PostgreSQL, MinIO (audio)
- NLP: OpenAI API
- Stream Processing: Debezium, Redpanda, Bytewax
- Analytics: ClickHouse
- Infrastructure: Docker, Ansible, CI/CD
✅ Core Features Implemented
🔊 Audio Processing
- Audio converter implemented
- Audio processing via FastStream worker
- Automatic file deletion after upload
- Redis stream integration
- Length and quality control (max 45s, compression)
🤖 Telegram Bot
- Telegram API integration
- Send/receive audio questions and answers
- Question sorting and cleanup
- Inline buttons and updated menu UX
- Separate logic for different question types
🧠 Answer Analysis
- OpenAI GPT-based analysis
- Answer time tracking
- TTR (unique word ratio)
- Sliding window (last N answers) with Bytewax
- Word cloud visualization (last 30 days)
- Interview preparation questions
🏗 Infrastructure
- Docker containerization
- Redis caching: user info and state
- PostgreSQL + MinIO storage
- Basic health check endpoints
- CI/CD for linting and gh-pages
- Ansible for database and basic setup
📊 Monitoring and Logs
- Centralized logging via Loki
- Metrics via Prometheus → Grafana
- Grafana dashboards for core services
📝 Documentation
- Readme and setup instructions
- Architecture diagram (Graphviz)
- Roadmap and overview
🛠 In Progress / Priority Tasks
- Repeat-answer logic: tag repeated answers (used for mimicry), exclude from metrics
- New question types:
- TOEFL Speaking 2–4 (with reading/audio prompt support)
- E2E and load testing:
- Simulate multiple users and audio uploads
- Track processing time and system load
🕒 Optional / Future Enhancements
- Full Ansible deployment for all services
- ClickHouse retention policy and long-term storage strategy
- GPT credit-based request system
- External API for integration
- Multilingual interface
- User guide and demo video for portfolio/showcase
This roadmap is a working document and evolves as development progresses.