<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Developer Challenges</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="format-detection" content="telephone=no" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="MobileOptimized" content="176" />
<meta name="HandheldFriendly" content="True" /><meta property="og:title" content="Telegram Developer Challenges">
<meta property="og:description" content="Participate in Telegram Coding Competitions and help find issues in the apps.">

    <link rel="shortcut icon" href="/img/cd_favicon.ico" type="image/x-icon" />
<link rel="mask-icon" href="/img/cd_icon.svg" color="#299ed8">
    <script>document.cookie="stel_dt="+encodeURIComponent((new Date).getTimezoneOffset())+";path=/;max-age=31536000;samesite=None;secure"</script>
    
    <link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700" rel="stylesheet" type="text/css">
    <link href="/css/bootstrap.min.css?3" rel="stylesheet">
    <link href="/css/bootstrap-extra.css?2" rel="stylesheet">
    <link href="/css/telegram.css?231" rel="stylesheet">
    <link href="/css/contest.css?41" rel="stylesheet">
<link href="/css/contest-zoo.css?7" rel="stylesheet">
<link href="/css/jquery-ui.min.css?1" rel="stylesheet">

  </head>
  <body class="emoji_image no-transition">
    
    <div id="aj_progress" class="progress-bar"></div>
    
    <div id="aj_content"><div class="cd-container">
  <header>
  <div class="container">
    <div class="header-wrap">
      <div id="header-panel" class="header-panel">
        <div class="header-auth">
  <div class="header-auth-item"><a class="header-auth-link login-link" href="/auth">Login</a></div>
</div>
        <div class="header-breadcrumb header-breadcrumb-simple">
          <ol id="breadcrumb" class="header-nav breadcrumb"><li class="cd-logo"><a href="/"><i class="cd-icon"></i><span class="cd-logo-title">Developer Challenges</span></a></li></ol>
        </div>
      </div>
    </div>
  </div>
</header>
  <main class="container"><section class="cd-aside">
  
  <div class="cd-markdown cd-markdown-page">
    <h4>Recent News</h4>
<p>Subscribe to the <a href="https://t.me/contest">Telegram Contests</a> channel for the latest updates and information about <strong>ongoing competitions</strong>.</p>
<h4>About this Platform</h4>
<p>Everybody is welcome to try out works submitted by the contestants and create issues (with supporting videos and screenshots) if they encounter any problems.</p>
<p><br></p>

<p>Contestants can respond to issues. They appear on the platform under <strong>animal aliases</strong> to ensure fairness and transparency in testing. <strong>Admins</strong> will be around to do their own checks on the apps and tally up the <strong>results</strong>.</p>
<p><br></p>

<p>If you&#39;re looking for information about contests that are currently open, check the <a href="https://t.me/contest">Telegram Contests</a> channel.</p>
  </div>
</section>
<section class="cd-content">
  
  <h3 class="cd-header">Contests</h3>
  <a href="/android-x-r1" class="cd-contest">
  <div class="cd-contest-title">Android X Contest: Round 1. &#036;25,000<span class="cd-badge cd-badge-new">New</span></div>
  <div class="cd-contest-period">Jun 17 – Jul 2</div>
</a><a href="/gif2021-r2" class="cd-contest">
  <div class="cd-contest-title">GIF Contest, Round 2. &#036;50,000<span class="cd-badge cd-badge-new">New</span></div>
  <div class="cd-contest-period">Sep 8 – Nov 9, 2021</div>
</a><a href="/cpp2022" class="cd-contest">
  <div class="cd-contest-title">C++ Contest 2022. &#036;40,000</div>
  <div class="cd-contest-period">Mar 4 – Mar 13</div>
</a><a href="/win11-design" class="cd-contest">
  <div class="cd-contest-title">Windows 11 Design Contest. &#036;40,000</div>
  <div class="cd-contest-period">Dec 30, 2021 – Jan 22</div>
</a><a href="/android-nov2021-r2" class="cd-contest">
  <div class="cd-contest-title">November 2021 Android Contest, Round 2. &#036;50,000</div>
  <div class="cd-contest-period">Nov 26 – Dec 6, 2021</div>
</a><a href="/android-nov2021" class="cd-contest">
  <div class="cd-contest-title">November 2021 Android Contest. &#036;50,000</div>
  <div class="cd-contest-period">Nov 5 – Nov 15, 2021</div>
</a><a href="/android-design" class="cd-contest">
  <div class="cd-contest-title">Android Design Contest. &#036;30,000</div>
  <div class="cd-contest-period">Jul 8 – Aug 1, 2021</div>
</a><a href="/sticker-app" class="cd-contest">
  <div class="cd-contest-title">Sticker App Contest. &#036;50,000</div>
  <div class="cd-contest-period">Jun 25 – Jul 4, 2021</div>
</a><a href="/ios2021-r3" class="cd-contest">
  <div class="cd-contest-title">iOS Contest, Round 3 (watchOS)</div>
  <div class="cd-contest-period">May 19 – Jun 6, 2021</div>
</a><a href="/dc2021-r2" class="cd-contest">
  <div class="cd-contest-title">Data Clustering Contest 2021, Round 2. &#036;50,000</div>
  <div class="cd-contest-period">Apr 17 – May 2, 2021</div>
</a><a href="/android2021-r2" class="cd-contest">
  <div class="cd-contest-title">Android Contest 2021, Round 2. &#036;50,000</div>
  <div class="cd-contest-period">Mar 19 – Apr 4, 2021</div>
</a><a href="/gif2021-r1" class="cd-contest">
  <div class="cd-contest-title">GIF Contest, Round 1. &#036;50,000</div>
  <div class="cd-contest-period">Mar 17 – Mar 31, 2021</div>
</a><a href="/stickers2021-r1" class="cd-contest">
  <div class="cd-contest-title">Animated Sticker Contest 2021. &#036;50,000</div>
  <div class="cd-contest-period">Mar 11 – Mar 26, 2021</div>
</a><a href="/ios2021-r2" class="cd-contest">
  <div class="cd-contest-title">watchOS Contest 2021. &#036;47,000</div>
  <div class="cd-contest-period">Mar 5 – Mar 21, 2021</div>
</a><a href="/android2021-r1" class="cd-contest">
  <div class="cd-contest-title">Android Contest 2021. &#036;60,000</div>
  <div class="cd-contest-period">Jan 30 – Feb 14, 2021</div>
</a><a href="/ios2021-r1" class="cd-contest">
  <div class="cd-contest-title">iOS Animation Contest 2021. &#036;50,000</div>
  <div class="cd-contest-period">Jan 15 – Jan 31, 2021</div>
</a><a href="/aptitude-tests" class="cd-contest">
  <div class="cd-contest-title">Aptitude Test Contest. €250,000</div>
  <div class="cd-contest-period">Dec 31, 2020 – Jan 9, 2021</div>
</a><a href="/javascript-web-bonus" class="cd-contest">
  <div class="cd-contest-title">JavaScript Contest, Bonus Round</div>
  <div class="cd-contest-period">Aug 18 – Sep 1, 2020</div>
</a><a href="/javascript-web-3" class="cd-contest">
  <div class="cd-contest-title">JavaScript Contest, Stage 3</div>
  <div class="cd-contest-period">May 30 – Jun 20, 2020</div>
</a><a href="/data-clustering-2" class="cd-contest">
  <div class="cd-contest-title">Data Clustering Contest, Stage 2. €100,000</div>
  <div class="cd-contest-period">May 11 – May 25, 2020</div>
</a><a href="/voip-contest-3" class="cd-contest">
  <div class="cd-contest-title">VoIP Contest, Stage 3. €50,000</div>
  <div class="cd-contest-period">Mar 9 – Mar 30, 2020</div>
</a><a href="/blockchain-2-bonus" class="cd-contest">
  <div class="cd-contest-title">Blockchain Contest, Stage 2: Bonus Prize €80,000</div>
  <div class="cd-contest-period">Mar 6 – Mar 20, 2020</div>
</a><a href="/javascript-web-2" class="cd-contest">
  <div class="cd-contest-title">JavaScript Contest, Stage 2</div>
  <div class="cd-contest-period">Jan 31 – Feb 15, 2020</div>
</a><a href="/voip-contest-2" class="cd-contest">
  <div class="cd-contest-title">VoIP Contest, Stage 2. &#036;75,000</div>
  <div class="cd-contest-period">Jan 14 – Jan 29, 2020</div>
</a><a href="/blockchain-2" class="cd-contest">
  <div class="cd-contest-title">Blockchain Contest, Stage 2. &#036;100,000</div>
  <div class="cd-contest-period">Dec 7 – Dec 22, 2019</div>
</a><a href="/data-clustering" class="cd-contest">
  <div class="cd-contest-title">Data Clustering Contest. &#036;100,000</div>
  <div class="cd-contest-period">Nov 18 – Dec 2, 2019</div>
</a><a href="/javascript-web" class="cd-contest">
  <div class="cd-contest-title">Javascript Contest, Stage 1. &#036;80,000+</div>
  <div class="cd-contest-period">Nov 3 – Nov 17, 2019</div>
</a><a href="/voip-contest" class="cd-contest">
  <div class="cd-contest-title">VoIP Contest, Stage 1. &#036;50,000+</div>
  <div class="cd-contest-period">Oct 15 – Oct 26, 2019</div>
</a><a href="/animated-stickers" class="cd-contest">
  <div class="cd-contest-title">Animated Stickers Contest. &#036;25,000+</div>
  <div class="cd-contest-period">Oct 5 – Oct 20, 2019</div>
</a><a href="/themes" class="cd-contest">
  <div class="cd-contest-title">Theme Design Contest. &#036;25,000+</div>
  <div class="cd-contest-period">Oct 5 – Oct 20, 2019</div>
</a><a href="/blockchain" class="cd-contest">
  <div class="cd-contest-title">Blockchain Contest. &#036;200,000–400,000</div>
  <div class="cd-contest-period">Sep 24 – Oct 15, 2019</div>
</a><a href="/telegrambugs" class="cd-contest">
  <div class="cd-contest-title">Bugs on Telegram</div>
  <div class="cd-contest-period">Jun 14 – Jun 23, 2019</div>
</a><a href="/chart-js" class="cd-contest">
  <div class="cd-contest-title">JavaScript Chart Competition. &#036;50,000</div>
  <div class="cd-contest-period">Apr 7 – Apr 15, 2019</div>
</a><a href="/chart-ios" class="cd-contest">
  <div class="cd-contest-title">iOS Chart Competition. &#036;50,000</div>
  <div class="cd-contest-period">Apr 7 – Apr 15, 2019</div>
</a><a href="/chart-android" class="cd-contest">
  <div class="cd-contest-title">Android Chart Competition. &#036;50,000</div>
  <div class="cd-contest-period">Apr 7 – Apr 15, 2019</div>
</a>
</section></main>
</div><div class="popup-container login-popup-container hide" id="login-popup-container">
  <div class="popup">
    <div class="popup-body">
      <section>
        <h2>Log In</h2>
        <p>Log in here to leave comments and take part in the Telegram Competitions. Please enter your <b>phone number</b> in the <a target="_blank" rel="noopener" href="https://telegram.org/faq#login-and-sms">international format</a> and we will send a confirmation message to your account via Telegram.</p>

        <form id="send-form" class="login-form">
          <div class="form-group">
            <input type="tel" class="form-control cd-form-control input-lg" id="phone-number" placeholder="+12223334455" autocomplete="off"/>
          </div>
          <div class="popup-buttons">
            <a class="btn btn-link btn-lg login-cancel-btn">Cancel</a><button type="submit" class="btn btn-link btn-lg">Next</button>
          </div>
        </form>

        <div id="login-form" class="hide">
          <div class="form-group">
            <span class="form-control cd-form-control input input-lg input-disabled"><strong id="phone-number-field"></strong> (<a class="login-back" href="/auth">Incorrect?</a>)</span>
            <p class="help-block dots-animated">We&#39;ve just sent you a message.<br/>Please confirm access via Telegram</p>
          </div>
          <div class="popup-buttons">
            <a class="btn btn-link btn-lg login-cancel-btn">Cancel</a><a class="btn btn-link btn-lg login-back">Back</a>
          </div>
        </div>
      </section>
    </div>
  </div>
</div></div>
    <script src="/js/jquery.min.js?1"></script>
    <script src="/js/bootstrap.min.js"></script>
    <script src="/js/main-aj.js?58"></script>
    <script src="/js/contest.js?25"></script>
<script src="/js/jquery-ui.min.js?1"></script>
<script src="/js/tgsticker.js?29"></script>

    <script>ajInit({"version":399,"apiUrl":"\/api?hash=telegram-crawler","unauth":true});</script>
    <script id="aj_script">Aj._useScrollHack=true;
Aj.onLoad(function(state) {
  function requestConfirmation(event) {
    event && event.preventDefault();
    var phone = $('#phone-number').val();
    $.ajax({
      type: 'POST',
      url: '/auth/request',
      data: {
        phone: phone
      },
      success: function(result) {
        $('#phone-number-field').text(phone);
        $('#send-form').addClass('hide');
        $('#login-form').removeClass('hide');
        checkAuth(result.temp_session);
      },
      error: function(xhr) {
        showAlert(xhr.responseText || 'Server error');
      },
      dataType: 'json'
    });
    return false;
  }
  function cancelConfirmation(event) {
    event && event.preventDefault();
    $('#phone-number-field').text('');
    $('#send-form').removeClass('hide');
    $('#login-form').addClass('hide');
    $('#phone-number').focus();
    clearTimeout(window.authTimeout);
    return false;
  }
  function checkAuth(temp_session) {
    clearTimeout(window.authTimeout);
    window.authTimeout = setTimeout(function doCheckAuth() {
      $.ajax({
        type: 'POST',
        url: '/auth/login',
        data: {
          temp_session: temp_session
        },
        success: function(result) {
          if (result) {
            location.reload();
          } else {
            checkAuth(temp_session);
          }
        },
        error: function (xhr) {
          showAlert(xhr.responseText || 'Server error');
        },
        dataType: 'json'
      });
    }, 700);
  }
  $('#login-popup-container').on('popup:open', function() {
    $('#phone-number').focus();
  });
  $('#login-popup-container').on('popup:close', function() {
    cancelConfirmation();
    if (location.pathname == '/auth') {
      window.history && history.replaceState(null, null, '/');
    }
  });
  $('#login-popup-container #send-form').on('submit', requestConfirmation);
  $('#login-popup-container .login-cancel-btn').on('click', function(e) {
    e.preventDefault();
    closePopup('#login-popup-container');
  });
  $('#login-popup-container .login-back').on('click', cancelConfirmation);
  $('.login-link').on('click', function(e) {
    e.stopImmediatePropagation();
    e.preventDefault();
    openPopup('#login-popup-container');
  });
});
Aj.onUnload(function(state) {
  $('#login-popup-container').off('popup:open');
  $('#login-popup-container').off('popup:close');
  $('#login-popup-container #send-form').off('submit');
  $('#login-popup-container .login-cancel-btn').off('click');
  $('#login-popup-container .login-back').off('click');
  $('.login-link').off('click');
});
</script>
    <script>Aj.pageLoaded();</script>
    
  </body>
</html>