DNA 02
A media business runs dozens of Telegram channels. This platform runs them for it — collecting, cleaning, rewriting, scheduling, publishing and billing, unattended.
By hand this is not hard — it is impossible
Thousands of media businesses live inside Telegram. One owner may hold dozens of channels and has to feed every one of them every day: find material, strip out somebody else’s ads, rewrite the text, schedule the post, greet new subscribers, sell ad slots, count the money.
The owner connects their channels and sources once, sets the rules, and the platform takes over: around the clock, weekends included, with nobody at the console. Each customer even gets their own branded bot, created and maintained by the platform itself.
Why it is genuinely hard. Telegram has no official API for this. The platform keeps a fleet of 61 real accounts on the low-level protocol — and Telegram can ban any of them for behaving oddly. So most of the engineering is not “ship a feature”, it is “do not break”: rate budgets, fingerprint separation, ban handling, session recovery — the system heals itself while the owner sleeps.
A headless monolith with five routes and a self-healing userbot fleet
200k lines of Ruby across 1,100+ service objects and 45 tables, with roughly two lines of test for every line of code.
Headless monolith
Two delivery pipelines
Userbot fleet on native TDLib
Semantic dedup & ad detection
Incidents worth reading
Quality gate
Who worked on it · 6 contributors
Danyil Shkoropad
- Architecture, product decisions and 90% of merge commits.
- Ran the Python→Ruby, Rails 7.2→8.1 and PostgreSQL 16→18 migrations personally.
Mykhail Yun
- Found the customers first: dozens of channel owners interviewed before a line was written, then the spec.
- Pricing and the ad campaigns behind ×20 customer growth in 14 months.
Nataliia Makarenko
- The Gemini embedding pass and the HNSW index on the 1536-dimension column it writes to.
- Background jobs and the backup routine that runs behind all of it.
Oleksii Mikhno
- Panels inside the Telegram state machine — the product has five HTTP routes and no views.
- Billing screens and the customer-facing bot factory flows.
Oleksandr Shemberko
- The customer’s own posts — creation, schedule, per-channel settings — and the ad-reservation service.
- Premium payment menus and the free/premium split; reviewed 105 of his colleagues’ pull requests.
Claude
- Automated review of every pull request against an eight-point checklist, inline in the diff.
- Advisory only. Two humans still have to approve before anything merges.
Read to the end and want to talk it over?




