Here we announce Telegram coding contests in Android Java, iOS Swift, JS, C/C++. Discussion: @contests
@ContestBot is now ready to accept submissions for the JavaScript Contest, Round 2.
New deadline: 23:59 on April 27 (Dubai time)
Build the application, then prepare:
- A ZIP-archive with the following structure:
-> dist - folder with the build.
-> src - folder with the app's source code.
-> contest.md – a text file that briefly describes the approach used for each task.
- A link to the commit on a public GitHub repository, forked from the Telegram Web A repository.
🏆 Telegram Contest for JavaScript Developers, Round 1: Results
After many hours of testing and deliberation, we are now ready to announce the results!
Reworking a text editor – essentially a core component of a messaging app – posed numerous challenges due to the wide range of formatting options and other entities, such as custom emoji.
None of the contestants were able to secure first place, yet we have increased the prize fund for Round 1 by more than 13% to fairly recognize the efforts of the participants.
The judges unanimously agreed to move forward with a second round – which begins immediately.
This time, only the winners of Round 1 will be eligible to participate. More details – in the post below.
And now – meet the winners!
2nd PLACE – $3,000
🥈 Huge Cobra
🥈 Hip Hyena
🥈 Cuddly Lion
🥈 Posh Ram
🥈 Small Fly
🥈 Nice Elk
3rd PLACE – $2,000
🥉 Smart Mantis
🥉 Kooky Cow
🥉 Dark Squid
🥉 Fierce Bull
4th PLACE – $1,000
🎖 Ace Squid
🎖 Slim Piranha
🎖 Fit Shark
🎖 Desert Falcon
🎖 Fluffy Yak
🎖 Tactful Whale
🎖 Small Dragon
🎖 Shiny Cat
We will publish a detailed list of issues for each submission within the next 72 hours on contest.com.
We are attaching a breakdown of the Final Results for each submission.
1. Final Results:
Initially, for preliminary testing published on contest.com, we ran each test in a separate process. This allowed us to fully evaluate even solutions that crashed or hung on specific tests. However, this method disrupted many participants' performance optimizations and introduced substantial noise into the results.
Therefore, for the final evaluation, we executed all tests in a single process using a grader closely resembling the provided contest-grader.cpp. Consequently, solutions that crashed or hung on any test received a final score of 0.
2. Post-Contest Corrections:
After announcing preliminary results, several participants submitted bug fixes via comments on contest.com. Although we typically do not accept post-contest corrections, one corrected solution turned out to be significantly faster than any solution submitted during the contest. As an exception, we decided to evaluate all corrected submissions and include them in the final standings. To maintain fairness, these late submissions incurred a 20% penalty on the prize amounts awarded.
💎 Blockchain Contest: Results (PART I)
We are happy to announce the results of TON Trustless Bridge Challenge!
1st PLACE
🥇 Daring Yak – $15,000
🥇 Fluffy Lemur – $11,000
🥇 Subtle Swallow – $11,000
🥇 Shiny Giraffe – $9,500
🥇 Calm Turkey – $9,000
🥇 Keen Fox – $7,500
2nd PLACE
🥈 Regal Scorpion – $5,000
🥈 Small Shrimp – $4,000
🥈 Cool Kangaroo – $3,000
🥈 Mad Otter – $2,500
🥈 Merry Gnu – $2,500
🥈 Tall Llama – $2,500
3rd PLACE
🥈 Cute Giraffe – $2,000
🥈 Holy Lynx – $2,000
🥈 Swift Flamingo – $1,500
🥈 Slim Elk – $1,000
🥈 Kind Horse – $1,000
4th PLACE
🎖️ Fairy Zebra – $500
🎖️ Earnest Wasp – $300
🎖️ Grim Hawk – $300
🎖️ Sacred Hare – $300
We appreciate your patience as we finalize the results for the Block Validation Challenge, which are coming later this week. Thank you for your understanding.
Congratulations to the winners, and happy Monday to you all!
💎 Blockchain Contest, Round 1 Update
The judges have completed their evaluation. For details, kindly refer to the issues for each submission.
• Block Validation Challenge
Final tests
• Trustless Bridge Challenge
Assessment criteria
The final results will be announced on Monday.
🏆 Telegram Contest for JavaScript Developers, Round 1
Prize fund: $30,000
Deadline: 23:59 on February 21 (Dubai time)
Who can participate: Everyone
Results: March 2025
Telegram is hosting a contest for JavaScript developers to implement a new feature in Telegram Web A and enhance the existing part of the app.
THE TASK
1. Rework the existing text editor from scratch and eliminate its imperfections:
– Ensure proper support for edit history (Ctrl+Z / Cmd+Z doesn’t work as intended as of now).
– Add support for editing quotes.
– Add support for Markdown syntax.
– Currently, RegExp is used for parsing Markdown, which sometimes causes glitches. Implement an AST-based approach to support all Telegram formatting entities more reliably.
2. Introduce the new Chat Folders appearance based on the provided mockups.
___
Contest Requirements:
– No third-party frameworks and libraries are allowed.
– The changes you introduce must not affect the app’s performance or stability.
– The submission must be consistent with the existing Web A codebase.
– Your implementation must work flawlessly on mobile and desktop Chrome (across Linux, macOS, Windows) and Safari on iOS and macOS.
❗Your app must precisely follow the provided design mockups.
Bonus Task:
Add support for animated chat backgrounds as in other Telegram apps. For reference, check Telegram Web K or this.
Submissions:
Contestants will be able to submit their entries to @ContestBot at a later date. We will further clarify the submission instructions closer to the deadline.
P.S. Winners may be offered a chance to explore further opportunities with Telegram.
🏆 A new contest for JS developers with a total prize fund of $30,000 will be announced this Friday. The winner may be offered a chance to explore further cooperation opportunities with 🛫 Telegram.
Читать полностью…🏆 Telegram Android Contest 2024, Round 2: Results
In this Round, the contestants were invited to upgrade the interface of the existing in-chat camera and enhance it with the features from the Stories.
The judges greatly enjoyed the testing stage, taking thousands of photos, recording countless videos, and making more collages than they ever had before (and likely never would again). We would like to thank everyone for their contribution!
The core criteria we initially applied during evaluation was app performance. Each submission was tested on a high-performance device to ensure that the changes introduced by the contestants did not compromise the app's smoothness. This particular aspect proved to be quite challenging for the majority of contestants.
The rest we evaluated was the amount and quality of the features implemented, as specified in the contest task.
Please meet the winners!
1st PLACE – $7,000
🥇Earnest Pug
2nd PLACE – $4,500
🥈Dreamy Crab
🥈Holy Shark
🥈Huge Fox
3rd PLACE – $2,500
🥉Slim Gull
🥉Earnest Wasp
🥉Daring Whale
🥉Fairy Zebra
🥉Mighty Rabbit
🥉Huge Falcon
🥉Hardy Turkey
🥉Fit Rhino
4th PLACE – $1,500
🎖Grim Mule
🎖Mighty Fly
🎖Fierce Bull
🎖Young Beetle
🎖Fit Shark
🎖Sleek Ladybird
🎖Keen Ant
🏆 Telegram iOS Contest 2024: Results
We appreciate your patience as we evaluated the results of this contest. The complex task and the initial requirements we outlined proved to be challenging to the majority of contestants.
Out of a total of 23 entries, 7 were disqualified for introducing changes that broke the application build process.
After confirming that the remaining apps could be built and included the features outlined in the contest task, we proceeded to the testing stage.
After many hours of testing and cross-checking the submissions, we discovered that only 4 out of the remaining 16 apps were able to play the HLS streams. Unfortunately, the approach used in these apps is far from optimal and, as a result, cannot be used.
Since we were also working on the same task under the release cycle with an even tighter deadline, here’s the approach currently used in the iOS app:
We use bridging to connect the JavaScript implementation of HLS and the native code. For rendering, we created a player compatible with Media Source Extensions.
🏆 Telegram Android Contest 2024, Round 2
Prize fund: $50,000
Deadline: 23:59 on December 21st (Dubai time)
Who can participate: Everyone, even if you didn't join Round 1
Results: December 2024
Telegram is hosting a contest for Android developers to enhance and upgrade the in-chat camera.
THE TASK
Adapt the existing in-chat camera with the camera for Stories, including all its features:
– Collages;
– Dual Camera Mode;
– Front Camera Flash;
– Widgets (for interactive widgets, i.e., reactions or links, your app may just apply a non-interactive entity over the canvas)...
Your implementation must remove any story-related restrictions or controls. Specifically, your app must not impose a limit on video length and should exclude interface controls that are only relevant for stories. Your app must retain the existing in-chat camera interface and flow before user opens the camera (i.e., the preview within the attachment menu).
Contest Requirements:
General
– Your app must provide a consistent and smooth recording experience that aligns with the device's native camera app.
– No third-party UI frameworks are allowed.
– The submission must be consistent with the existing Telegram for Android codebase.
– The app's stability and performance must not be affected with the changes you made.
– The app must be free of significant flaws (including crashes, visual glitches, noticeable element blinking, layout errors, and more).
❗️Your app must precisely follow the provided design mockups.
Note:
Submissions that introduce improvements to video recording are likely to receive higher scores in this contest.
Evaluation:
During the evaluation stage, we will review your code and test the submission on a wide range of Android devices.
Winners may be offered a chance to join the 🛫 Telegram Team.
Submissions:
Contestants will be able to submit their entries to @ContestBot at a later date. We will further clarify the submission instructions closer to the deadline.
🏆 Telegram Android Contest 2024, Round 1: Results
We were pleased to see many veterans from our previous contests for Android Developers to join us in this round together with several newcomers! We hope this was a fun yet challenging experience for all of you.
In this contest, developers were required to implement several features into the Android app under a tight deadline. While evaluating submissions, we primarily assessed how well each app delivered two core features for this contest: the Quick Share feature in channels and Chromecast support.
Meet the winners!
1st PLACE – $8,000
🥇 Dreamy Crab
2nd PLACE – $5,000
🥈 Slim Gull
🥈 Hardy Turkey
3rd PLACE – $3,000
🥉 Sunny Ant
🥉 Huge Fox
🥉 Fairy Zebra
🥉 Mighty Rabbit
🥉 Holy Shark
4th PLACE – $1,500
🎖 Fit Falcon
🎖 Young Beetle
🎖 Large Kangaroo
🎖 Hairy Frog
🎖 Groovy Rhino
🎖 Slim Scorpion
🎖 Huge Falcon
🎖 Fit Rhino
As an exception and a final warning, we have waived the rebuilding penalty this time considering we have several newcomers. Stricter guidelines and more severe penalties will be introduced for future competitions.
We have also decided to award 10 other contestants a bonus of $500 for their contributions, and we hope to see them in the prize-winning spots next time. (More details and check if you are on the list – on contest.com)
That's all for today! More contests are on the way. Have a nice Sunday!
ContestBot is now ready to accept submissions for the Android Contest 2024, Round 1.
New deadline: 23:59 on October 29th (Dubai time)
Start the bot, choose “Android Contest 2024 R1”, answer the bot’s questions, then send:
- An .apk
file (release build). Make sure your code is using your own package id.
- A link to the commit on a public GitHub repository, forked from the Telegram-Android repository.
Note: Your repository may stay private until the deadline. Entries that are not using their own package id will be penalized.
ContestBot is now ready to accept submissions for the Telegram iOS Contest 2024.
New deadline: 23:59 on October 27th (Dubai time)
Start the bot, choose “Telegram iOS Contest 2024”, answer the bot’s questions, then send:
- A link to the commit on a public GitHub repository, cloned from the Telegram-iOS repository.
Note: Your repository may stay private until the deadline. Make sure your code is consistent with the reproducible builds process – we will build each app automatically. Entries failing to do so, will receive a relevant penalty.
iOS Contest 2024 Update
Dear contestants,
We apologize for the inconvenience with @hls_samples. Please apply the following patch to continue your development.
Additionally, we have extended the contest deadline by 24 hours.
New Deadline: 23:59 on October 26th (Dubai time)
ContestBot is now ready to accept submissions for the Design Competition Round 2.
Start the bot, choose “Design Competition 2024 R2”, answer the bot’s questions, then send:
- A link to either private or public channel that serves as a catalog where your videos are uploaded. Provide a table of contents, pin it. You are recommended to use @DesignCompetitionSample as a reference.
- An archive containing all your videos in their original resolution. Optionally, you may also include source files for your project (e.g., .aep files).
Note: Your channel may stay private until the deadline. Make sure you assign it a username after the deadline.
🏆 Telegram Contest for JavaScript Developers, Round 2
Prize fund: $25,000
Deadline: 23:59 on April 23 (Dubai time)
Who can participate: Only winners from Round 1 are eligible
Results: May 2025
THE TASK
1. Address your Round 1 issues. (A list of issues will be provided for each submission within the next 72 hours.)
2. Implement the new ESG panel based on the provided mockups.
___
Contest Requirements:
– No third-party frameworks and libraries are allowed.
– The changes you introduce must not affect the app’s performance or stability.
– The submission must be consistent with the existing Web A codebase.
– Your implementation must work flawlessly on mobile and desktop Chrome (across Linux, macOS, Windows) and Safari on iOS and macOS.
❗Your app must precisely follow the provided design mockups.
Submissions:
Contestants will be able to submit their entries to @ContestBot at a later date. We will further clarify the submission instructions closer to the deadline.
P.S. Winners may be offered a chance to explore further opportunities with Telegram.
🏆 Telegram Contest for JavaScript Developers, Round 1: Update
The judges have completed the evaluation of all submissions.
The Main Task – reworking the text editor – proved to be quite challenging for the majority of contestants.
We’ve decided to expand the scope of this contest. Final scoring is currently underway, and we will announce the results on April 8, 2025, along with the details for Round 2.
💎 Blockchain Contest: Results (PART II)
We are now ready to announce the results of the TON Block Validation Challenge!
A couple of entries among the winners were penalized because they failed some of the tests and had to refine their solutions based on the issues identified by the judges.
1st PLACE
🥇 Classy Sloth – $13,600; penalties:
– tests partial failure (–$3,400)
🥇 Magic Gopher – $13,000
🥇 Rich Leopard – $10,000
🥇 Large Panda – $8,000; penalties:
– tests partial failure (–$2,000)
2nd PLACE
🥈 Sweet Yak – $6,000
🥈 Shiny Giraffe – $6,000
🥈 Mindful Kitten – $5,000
🥈 Giant Hare – $5,000
🥈 Huge Dolphin – $4,000
🥈 Fairy Shark – $4,000
3rd PLACE
🥉 Fair Horse – $3,000
🥉 Eager Turtle – $3,000
🥉 Sleek Pony – $2,000
🥉 Posh Turkey – $2,000
🥉 Neat Horse – $2,000
🥉 Daring Yak – $2,000
4th PLACE
🎖 Desert Eagle – $1,000
🎖 Nimble Gopher – $1,000
🎖 Tactful Hare – $1,000
🎖 Gifted Ram – $1,000
🎖 Grim Antelope – $1,000
🎖 Savvy Pug – $1,000
Congratulations to the winners!
@ContestBot is now ready to accept submissions for the JavaScript Contest, Round 1.
New deadline: 23:59 on February 22nd (Dubai time)
We are extending the deadline to give all contestants enough time to properly prepare their submissions. Please prepare your submission at least 2–3 hours before the deadline and avoid uploading until the last moment, as late submissions will not be accepted.
Build the application, then prepare:
- A ZIP-archive with the following structure:
-> dist - folder with the build.
-> src - folder with the app's source code.
-> contest.md – a text file that briefly describes the approach used for each task.
ContestBot is now ready to accept submissions for Blockchain Contest Round 1.
Start the bot, choose either challenge, answer the bot’s questions, then send:
for “TON Block Validation Challenge”
an archive containing the following:
– solution.patch – a patch to the original branch.
– README.md – a description of the implemented optimizations and their effectiveness. If you tried some optimizations that didn't work, kindly provide details regarding them as well.
OS: ubuntu-22.04
Compiler: clang-14
Hardware: AX-42 Hetzner
1. Code of Lite-client smart-contract and script for generation messages for that contract with build instructions.
2. Code of Transaction-checker smart-contract and script for generation messages for that contract with build instructions.
3. Addresses of smart-contracts deployed in Testnet and Fastnet respectively, with the tx_hash of transactions that demonstrate both successful and unsuccessful checks of blocks and transactions.
Dear contestants,
The Fastnet was restarted on January 25th, and the updated global config file is available here. Kindly download it if you haven’t done so yet. We apologize for the inconvenience.
💎 Blockchain Contest, Round 1
Telegram and TON Core announce a new coding contest!
Prize Fund: $100,000 to $200,000
Deadline: 23:59, February 4th (Dubai time)
Tasks: Blockchain Validation (C++ code optimization) and/or Trustless Bridge (participants can choose one or both).
Prize Fund Distribution
The total prize fund, up to $200,000, will be allocated based on each participant’s overall contribution. Winners will also have the opportunity to compete in Stage 2, which will feature a separate, similar prize fund.
Additional Opportunities
Winners have the chance to join the Telegram or TON Core teams, or receive support to launch a real TVM sidechain for TON. The best optimization solutions may also be implemented to enhance the TON main network.
✍️ To justly recognize all notable submissions, we will announce the results on January 2nd, 2025, considering the initially extended deadline for contestants.
🏆 We would like to thank every developer and designer who participated in our competitions in 2024. We hope you gained valuable experience and refined your skills.
✨ We are excited to host more interesting, challenging, and rewarding contests in 2025.
Stay tuned!
ContestBot will begin accepting submissions for the Android Contest 2024, Round 2 later today.
New deadline: 23:59 on December 22nd (Dubai time)
We are extending the deadline to ensure all contestants have enough time to properly adjust both package id and api_id for their apps.
If you are a first-time participant, set aside at least 2-3 hours for this stage and ensure your app can be installed alongside official apps and does not break basic functions like login.
Start the bot later today, choose “Android Contest 2024 R2”, answer the bot’s questions, then send:
- An .apk
file (release build). Make sure your code is using your own package id.
- A link to the commit on a public GitHub repository, forked from the Telegram-Android repository.
Note: Your repository may stay private until the deadline. Entries that are not using their own package id will be penalized.
🏆 The second round of Android Contest 2024, with a total prize fund of $50,000, will be announced this Friday. The winner may also be offered an opportunity to join the 🛫 Telegram Team.
Everyone is welcome to participate, even if they didn't join Round 1.
🏆 October Contests Update
Dear Contestants,
Here is the results schedule for the recent contests we held:
Design Competition, Round 2: Next Week
🆕 iOS Contest 2024: Next Week
(A significant portion of the submitted apps cannot be built as intended and require direct involvement from our side in order to properly assess each contribution. We apologize for the inconvenience and appreciate your understanding. Each of such entries will be disqualified.)
Android Contest, Round 1: Today
Design Competition 2024, Round 2: Submissions
We received 135 submissions for the Design Competition, Round 2.
Everyone is welcome to view the submissions while the Telegram judges conduct their own checks.
🏆 Telegram Android Contest 2024, Round 1
Prize fund: $50,000
Deadline: 23:59 on October 28th (Dubai time)
Who can participate: Everyone
Results: November 2024
Telegram is hosting a contest for Android developers to implement new features into the app.
THE TASK
Implement the features in accordance with the mockups provided in the archive below:
– Add Quick Share for channel posts when you tap and hold the share button.
– Add Chromecast support for media playback.
– Add QR Share button for Invite links.
– Add a tooltip for bots' Start button.
– Introduce new flow for upcoming video chats.
Contest Requirements:
General
– No third-party UI frameworks are allowed.
– The submission must be consistent with the existing Telegram for Android codebase.
– The app's stability and performance must not be affected with the changes you made.
– The app must be free of significant flaws (including crashes, visual glitches, noticeable element blinking, layout errors, and more).
❗️Your app must precisely follow the provided design mockups.
Evaluation:
During the evaluation stage, we will review your code and test the submission on a wide range of Android devices.
Winners may be offered a chance to explore further cooperation opportunities with Telegram.
Submissions:
Contestants will be able to submit their entries to @ContestBot at a later date. We will further clarify the submission instructions closer to the deadline.
🏆 A new contest for Android developers with a total prize fund of $50,000 will be announced next Friday. The winner may be offered a chance to explore further cooperation opportunities with 🛫 Telegram.
Читать полностью…It seems that many contestants misunderstood the task. We are happy to provide clarifications regarding the task requirements, which you will find below.
Q: Can AVFoundation / VideoToolbox / CoreVideo be used?
A: Yes, anything that doesn't use AVPlayer to handle HLS playback is allowed.
Q: Are third party libraries/frameworks allowed (e.g. ffmpeg)?
A: Yes, anything that doesn't use AVPlayer to handle HLS playback is allowed.
Q: What do you mean by "switching between available video streams"?
A: The ability to change between different quality levels or versions of the video based on factors like network bandwidth or user selection. The player should be able to automatically switch to the most appropriate stream depending on the network conditions, or allow the user to manually select a stream which they prefer.
Q: Are there any minimum technical requirements for a video player? Which features are prioritized?
A: Video playback must be hardware-accelerated.
Q: Do we need support for offline playback?
A: No.
Q: Is it necessary to replace something specific in the source code of Telegram iOS from AVPlayer to our self-written player or all?
A: You only need to replace the relevant code in HLSVideoContent.swift
where the AVPlayer is used for handling HLS streams
Q: Which formats and codecs should be supported with HLS and video decoding?
A: fmp4 / H264 / AAC.
Q: Will there be any guidelines on how switching between available qualities should be implemented on the UI/UX part?
A: The UI is already implemented. Quality switching is handled here.