Architecture
Three-layer system: Bot layer (Node.js/Telegraf) handles Telegram message intake, command processing, inline keyboards,
and anonymity/pseudonym management. Web layer (Python/FastAPI with Jinja2 templates) provides the dashboard, REST API,
scheduled AI summary generation, and moderation actions. Data layer (PostgreSQL + Redis) stores feedback, user mappings,
blacklist, and daily summaries — with Redis caching state, daily counters, and pending edits.
Slack integration sends real-time feedback notifications (Block Kit formatting) and weekly AI summary threads.
Optional Google Sheets backup for feedback log and user mapping. Containerized with Docker Compose.
Operational impact
Before this tool, player feedback arrived unstructured through Discord, social media, and support tickets — requiring
manual triage to surface patterns. The Telegram Feedback Bot structures intake with categories and pseudonyms, surfaces
sentiment shifts through AI-generated daily summaries, and makes the full archive searchable.
The product team uses the AI summaries and the searchable dashboard directly for backlog prioritization — deciding
what to fix, what to build next, and which player pain points are growing. Weekly Slack summaries keep stakeholders
aligned without manual report writing.