Source code
The app lives at github.com/kyra-labs/pingogram-android. It is written from scratch in Kotlin and Jetpack Compose, on top of TDLib, Telegram’s official client library. It is not a fork of the official Telegram app, and it contains no code from it.
License
Pingogram is licensed under the GNU General Public License v3.0 or later (LICENSE), with an additional permission to combine it with Google’s Play services and Firebase libraries, which only the builds with “-gms” in their names use, for push notifications (LICENSE-EXCEPTION.md). The GPL keeps every copy and every modified version open: anyone who shares the app must share its source too.
Build it yourself
You need JDK 17 or newer, an Android SDK with platform 37 and the latest stable Android Studio, plus your own Telegram API ID and hash from my.telegram.org (API development tools).
git clone https://github.com/kyra-labs/pingogram-android
cd pingogram-android
cp secrets.properties.example secrets.properties # add your api_id and api_hash
./gradlew assembleFossDebug # APK in app/build/outputs/apk/foss/debug/
./gradlew check # ktlint, detekt, lint, unit and screenshot tests
secrets.properties is never committed; the build stops with a clear message if it is missing. The TDLib library is downloaded during the build from the project’s own releases and checked against a pinned SHA-256 checksum. The README and docs/TDLIB.md have the details.
Contribute
Bug reports, ideas and code are all welcome:
- Report a bug or suggest a feature with the issue forms. Please don’t attach screenshots of private chats or phone numbers.
- Ask a question by email at contact@kyralabs.dev.
- Send code: read CONTRIBUTING.md first. Branch from
main, use Conventional Commits, sign off every commit (git commit -s, the Developer Certificate of Origin), run./gradlew check, and keep pull requests small, with light and dark screenshots for changes to the interface. Contributions are licensed under the project’s license. - Everyone taking part follows the Code of Conduct.
Security
Please report security problems privately, through GitHub’s private vulnerability reporting, never in a public issue. The security policy explains what to include and which versions get fixes. Problems in Telegram’s encryption or in TDLib itself belong upstream, to TDLib or Telegram.
Third-party licenses
Pingogram is built on the work of many open-source projects. Its Settings → About → Open-source licenses screen lists every library in the build you installed, with its version and full license text. The list is generated from the app’s actual dependencies when it is built, so it always matches, and works offline. Among them:
| Project | License |
|---|---|
| TDLib, Telegram’s client library | Boost Software License 1.0 |
| Google Sans Flex, the typeface | SIL Open Font License 1.1 |
| Material Symbols, the icons | Apache License 2.0 |
| Jetpack Compose, Material 3 and the other AndroidX libraries | Apache License 2.0 |
| Lottie, for animated stickers | Apache License 2.0 |
This website
This website is built with M3 Expressive Web, Kyra Labs’ Material 3 Expressive library for the web, and Astro. It uses Google Sans Flex under the SIL Open Font License 1.1 and Material Symbols under the Apache License 2.0, both served from this site.