Skip to content
All work

Bots

RepoRadar

Turning GitHub links from a Telegram chat into digest cards

Python 3.12FastAPITelethonaiogram 3Gemini 2.0 FlashPostgreSQL 16 + SQLAlchemy 2 asyncAlembicDocker Compose

Problem

Repository links land in a chat every day. Opening each one, reading the README and deciding whether it's useful is a routine that costs more time than the finds are worth.

System

Telethon reads a single target chat, repository links go to Gemini analysis against a strict response schema, results land in PostgreSQL and are broadcast by a bot as cards. Sync is POST /sync, which answers 202 at once and runs a background worker. The database has two connection strings: asyncpg for the app and psycopg v3 for Alembic. The Telethon session lives in a Docker volume, and authorisation is a separate compose profile so login never mixes with a normal run.

Role

Solo build: architecture, integrations, schema, packaging.

Outcome

An MVP in Docker Compose with secrets moved to environment variables (a one-off broadcast script used to hold them in code — fixed). The repository is private; the architecture is shown here.