Rate limiting is a core feature
Flood-wait handling had to be designed in, because at scale it determines whether the product works at all.
A media utility bot that turned into a study in operating at scale — rate limiting, localisation, and format negotiation across a genuinely global user base.
Application
Where the rules run
Platform
What it runs on
Gheychee started as a small utility and became the venture in this portfolio that taught the most about operating at scale, because consumer utilities expose engineering problems that low-traffic products never surface.
The moment a bot serves users across two dozen languages and time zones, everything soft becomes hard: rate limits stop being theoretical, format edge cases stop being rare, and error handling stops being optional.
It also became the group’s reference implementation for a three-tier product line — a light version, a standard build, and a premium tier — sharing a core while serving different needs.
Utility products live or die on the unglamorous parts: rate limits, retries, and what happens when the format you asked for does not exist.
A Pyrogram-based Telegram bot wrapping yt-dlp and gallery-dl, with advanced format and codec selection, subtitle handling, proxy support, and per-user configuration, shipped as a containerised deployment.
25-language localisation
Full interface localisation across 25 languages, including right-to-left scripts — a first-class concern rather than a community patch.
Smart format selection
Codec-aware selection across H.264, AV1, and VP9 with container preferences and an interactive quality menu with live filtering.
Subtitle handling
Subtitle integration with language detection rather than blind attachment.
Flood-wait protection
Rate limiting and flood-wait handling built around Telegram’s actual constraints, which is what keeps the bot alive under load.
Proxy support and direct links
Global proxy control plus direct stream URLs for external players, for users on constrained networks.
Per-user settings and statistics
User-specific configuration, a tagging system, and usage statistics held per account.
Telegram enforces hard rate limits, and a naive implementation gets throttled into uselessness at modest scale.
Media format negotiation has a very long tail of edge cases across sources and codecs.
A 25-language interface is an architectural commitment, not a translation task.
Users on restricted networks need proxy paths and direct links, not a single happy path.
A three-tier product line risks three divergent codebases without a disciplined shared core.
Nearly every hard problem here was operational rather than conceptual, which is exactly what makes consumer utilities good engineering teachers.
Flood-wait handling had to be designed in, because at scale it determines whether the product works at all.
Twenty-five languages including RTL scripts means the string layer and layout assumptions are structural decisions.
Automatic selection fails often enough that an interactive menu with real-time filtering is the more honest interface.
Light, standard, and premium builds stay maintainable because the underlying engine is common to all three.
Telegram’s rate limits are a fixed constraint, so flood-wait handling is part of the core loop rather than an error branch.
Treating 25 languages as structural rather than additive is what keeps the interface coherent across scripts.
Light, standard, and premium builds share a common core so the product line does not fragment.
Phase 1
Wrap yt-dlp and gallery-dl behind a single interface with codec-aware format selection.
Phase 2
Add flood-wait protection, proxy support, per-user settings, and containerised deployment.
Phase 3
Ship 25-language localisation and split the line into light, standard, and premium builds on the shared core.
Gheychee is one of the ventures we design, build, and run in-house at AshaVid.