Bots
Remote Jobs Hub
Remote-job aggregator over Telegram
- 6
- services
- 5 + 2
- apps and packages
Problem
Jobs and contract offers live across dozens of Telegram channels, mixed with noise, duplicates, and the same posting reflected in five places. Reading that by hand costs an hour a day for two relevant lines.
System
Six services in one compose file: a Telethon MTProto collector reads whitelisted sources only, a rule-based prefilter drops obvious noise before any LLM call, an extractor built on Anthropic structured outputs normalizes each post into fields (salary, work format, stack), and deduplication runs in two layers — exact and semantic via pgvector. The catalogue ships to users as a Telegram Mini App; source moderation lives in a separate admin panel. Mini App auth is verified server-side by HMAC-SHA256 over initData — the frontend never passes a trusted telegram_id.
Role
Solo build: architecture, all six services, data model, CI.
Outcome
A monorepo of 5 apps and 2 shared packages; tests run on sqlite with no Postgres required, while the Alembic migration is exercised for real in CI. The extractor is contractually barred from inventing facts — unknown fields stay null (extra="forbid" on the Pydantic schema).