Skip to main content

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.