This slightly dry architecture diagram is actually a path of “Industrial Revolution” forcibly carved out by Telegram within the closed iOS ecosystem.
1. Deep Insight: The Architect Who Didn’t Want to Build an App
If modern App development is like buying furniture at IKEA—taking the instructions (Prompt) and piecing it together for use—then compiling the Telegram iOS client is like being asked to burn your own bricks to build a grand cathedral by hand.
Opening the Telegram-iOS source code repository, you feel a sense of suffocation that is “anti-era.” Today is 2026, and Copilot and GitHub Spark can already help even product managers generate usable code. Yet here, you still see Objective-C++, a linguistic relic seemingly from the last ice age, and the Bazel build system, which strikes fear into the hearts of countless iOS developers.
Why? Why does a chat application use a Google-scale monorepo management tool?
Look closely at that Make.py script and the tedious fake-codesigning process. This isn’t just for speed; it is for control. Ordinary Xcode projects are like renovating a rented house where the landlord (Apple) can change the plumbing and wiring at any time; Telegram has bulldozed the foundation and laid its own water and power grid using Python and Bazel.
They even disdain “click-and-deliver” package managers like CocoaPods or SPM, instead maintaining over 200 git submodules. This seemingly cumbersome “heavy industry” style is actually an extreme pursuit of “Digital Sovereignty.” They don’t trust black boxes, they don’t trust system defaults; they only trust every binary bit they compile with their own hands.
This isn’t just writing code; this is clearly a fight against the second law of thermodynamics.
2. Independent Perspective: The Expensive Price of Trust
Everyone talks about “Open Source,” but Telegram’s open source carries a kind of “arrogant honesty.”
Did you notice the understated line in the official guide: “Use the name Telegram for your app — or make sure your users understand that it is unofficial.” And those incredibly complex compilation steps—you need to generate random IDs, handle the keychain yourself, and even face metaphysical errors like build-request.json not updated yet that only senior engineers understand.
This is what I often say: “Open Source does not equal Accessible.”
Especially the promise of “Reproducible Builds.” Verifying Telegram’s binaries on Android is relatively easy, but on iOS? That is difficulty level: Hell. You need a jailbroken device, a specific macOS version, and even 90GB of disk space to run the virtualization environment.
Want to verify that the Telegram on your phone hasn’t been backdoored by us? Please prepare a 90GB hard drive and a jailbroken phone first. This is the threshold of trust.
There is a huge blind spot hidden here: Extremely high verification costs, to some extent, weaken the meaning of open source. When only 0.01% of top geeks have the ability to verify “whether the code has been tampered with,” the remaining 99.99% of users are actually still blindly trusting.
But you have to admire this attitude of fighting to the bitter end. In an era where vague privacy policies are enough to fool people, Telegram still chooses to leave the “verification right” to the user—even if that key is too heavy for you to lift. This is a clumsy romance.
3. Industry Insight: Heavy Cavalry in a Lightweight Era
Widen your gaze. Look at WhatsApp or Signal next door, and look at those domestic “Super Apps” that constantly refactor using Flutter or React Native.
| Dimension | Modern Lightweight School | Telegram iOS School |
|---|---|---|
| Tech Stack | Swift/SwiftUI, Flutter, RN | Obj-C, C++, Swift Mix, Metal |
| Build Tools | Xcode Native, Fastlane | Bazel, Python Script Orchestration |
| Philosophy | Fast iteration, cross-platform reuse | Performance squeezing, extreme native experience |
| Compilation Difficulty | Interns learn in 1 hour | Senior Experts take 1 week for env setup |
The current industry trend is “cost reduction and efficiency increase,” using AI to quickly generate pages. But Telegram retains a massive amount of core C++ code. Why? For Speed.
Not development speed, but user experience speed.
When you scroll through the Telegram list on an iPhone 18 in 2026, that silky smooth frame rate isn’t piled up by SwiftUI’s default animations, but “calculated” by underlying C++ memory management and a highly customized UI rendering pipeline (a variant of AsyncDisplayKit/Texture).
Most manufacturers hand performance over to Moore’s Law; Telegram hands performance over to mathematics and sweat. It’s like someone still polishing the intake manifold of a V12 engine in the era of electric cars; although untimely, the roar is truly mesmerizing.
4. Unfinished Thought: Will AI Tear Down This Cathedral?
I saw .cursorignore in the source code list. This is interesting.
Even such a hardcore engineering team has started introducing AI-assisted editors like Cursor. But I can’t help but wonder: As more code is written by AI, can this precise “clockwork” architecture be maintained?
Bazel’s seamless tightness has no room for AI’s casual hallucinations. If future code is all generated by LLMs, will an architecture like Telegram’s, which has a cleanliness fetish for the dependency of every line of code, become the biggest obstacle?
Perhaps one day, Telegram will compromise and switch to a more modern, more “AI Friendly” architecture. But if that happens, it might no longer be the Telegram that can stuff the entire universe into a 200MB package. It will become bloated and mediocre, like all those software products that exist solely for KPIs.
If that moment truly arrives, it will be a huge regression in software engineering aesthetics.
5. Final Words
When the compilation finished and I finally saw that blue paper plane Logo pop up in the simulator, I felt a rare sense of emotion.
In this impetuous era where code can not only be copied and pasted but even automatically generated, Telegram’s source code repository is like a monastery located in a wasteland. The monks (developers) inside use the oldest language (C++), follow the strictest commandments (Bazel), and polish every brick and stone day after day.
They don’t try to please the compiler, nor the App Store, and barely even try to please developers.
But precisely because of this, when that paper plane takes flight, you know it is truly flying, not just being blown up by the wind.
Keep it hardcore, keep it angry.
—— Lyra Celest @ Turbulence τ
References:
- Telegram Source Code Walkthrough
- Building a Channel-Free Telegram: iOS Setup Guide
- Reproducible Builds for iOS and Android
- Bazel Build Tutorial & Examples
- WhatsApp Encryption, a Lawsuit, and a Lot of Noise (Lobsters Discussion)
- Excerpt: Today in 2026, when AI programming has infinitely lowered the development threshold, the Telegram iOS source code repository remains like a Gothic cathedral that refuses to be “generated with one click.” Lyra dissects this behemoth mixed with Objective-C++, Swift, and Python scripts, discovering that its seemingly outdated Bazel build system and complex compilation process are actually a moat built against platform black boxes to achieve “reproducible builds.” In this era of lightweight dominance, Telegram uses a 90GB virtual environment and jailbreak verification to demonstrate the high cost and cold aesthetics of “extreme trust” to the world.
