1. Telegram Channel Scrapper

Lantern’s Discover feature scraps content from a lot of sources so it’ll always be available for usage uncensored and to have a backup in case of a takedown.

Make a Telegram channel scraper that either saves the content locally or returns a JSON blob that another service can consume to download the content.

The content in this case are the videos and images for that channel.

Prize (TBA)

2. Twitter Scraper

In the same spirit as the last challenge, make a scraper for Twitter feeds that, when invoked, makes a PDF of the last 100 tweets from that user. You can also make this an API web service that can be consumed by our backend to easily download the content.

Prize (TBA)

3. Develop Docker container with jitsi preinstalled

AmneziaVPN is a free service for creating a personal VPN on your server. Helps to access blocked content without exposing privacy even to VPN providers.


Develop a Docker container with pre-installed jitsi, and integrate the container into AmneziaVPN.

Prize (TBA)

4. Implement the VPN function for the selected application 


Implement the VPN function for the selected application, for the AmneziaVPN application for Android or iOS. This task assumes knowledge of the Java/Kotlin stack for Android, or ObjectiveC/Swift for iOS, as well as basic knowledge of c++/Qt.

Prize $1000*

*for each platform – Android and iOS.

5. Create a browser extension

Create a browser extension (or integrate as an opt-in feature to the CENO extension) that keeps track of the «lifetime» cache size shared, # of peers you’ve shared to, and amount of shared groups.

  • Create a «share» toolbar button that pops up to reveal a short, pre-populated yet customizable, social media friendly call-to-action message that an end user can easily copy & paste and brag via social media.
    • Something like: «I’ve shared XXX pages and XXX GB of content using CENO for <some motivating reason here>, <to help with..>, <something else?>, visit <some site like sharethewebwithceno.com> and join me.»
  • Requirements: ++ (C++, Javascript, HTML)
  • Deliverable: A configurable option in Ouinet client that enables persistent count of lifetime cache size and shared groups. A web API to access this feature. A method for controlling and viewing the feature in the CENO Extension.
  • Acceptance: Demonstrate that the Ouinet client can keep track of the lifetime cache size and number of shared groups, even after the cache is purged.
  • Ideal team size: 2-3

Prize $1000

Option: This big task can also be cut into smaller tasks with smaller prizes for each: 

Task #1:

create a Ouinet client feature that keeps track of lifetime cache persistently ($500).

Task #2:

add to the web API of the Ouinet client so this feature can be controlled and observed ($250)

Task #3:

use the web API in the CENO Extension to control the feature and display it ($250)

6. Develop a telegram Q&A bot

На Связи (On Connection) is a non-profit organization, a team of IT professionals who believe that the Internet should be free and safe. We help solve any digital security issues, from connecting a VPN to protecting your site from attacks.


Develop a telegram bot that offers to select a question from the directory and sends an answer to it, and, if necessary, can call a person (send a ticket to the service desk).

Prize $600

7. Telegram bot for verification of volunteers

Problem: We are currently verifying people who want to take part in the activities of the movement. Verification is important for our security. Those who wish to contact us in Telegram, we ask them to leave their personal data through the form in the cryptopad. After verification, we write to the applicant in Telegram. However, as a result, Telegram bans our accounts because we send out a lot of the same messages.

Solution: Telegram bot


  • the person who wishes writes to the bot, clicks on the button “I want to become an activist” / “I want to become a volunteer”

— depending on the answer, the bot sends a link to the form in the cryptopad

  • the person who wants to fill it out
  • the bot remembers the tg ID of the person who wishes
  • need integration with a panel through which you can approve a person / several people at once (and send a mass message with a link to the invitation to the chat in the element)
  • it is necessary to provide an opportunity to clarify the missing information
  • it would be nice to make a pair of tg cryptopad ID-links on the server. for security, the ID can be encrypted, and the link can be in the form “accessible only to the team”. maybe it’s better to generate the same form in cryptopad for every person who wrote to the bot
  • the result must pass a security audit
  • Djnago admin panel, plus integration with tg python library

Prize $500

Where to see other challenges

Challenges are clustered into 4 groups by skills required for their implementation. Choose a challenge, register and come to the hackathon

Choose a challenge, register and come to the hackathon!