Theme - Education
Inspiration
Telegram is one of the most popular and versatile applications for communication -- you can text, voice call and video call conveniently, as well as using it on both web and mobile devices. Due to its convenience, many of us (students, teaching assistants and even professors) use Telegram daily for consultations, asking questions, etc.
However, most of our learning using Telegram is limited to texts or video calls. This is surprising given that the telegram bot API is open-source and there are thousands of interesting and useful bots out there. Therefore, we were inspired to build an educational telegram flashcard bot for students and educators alike, so that they can use it to enhance their learning/teaching.
Our inspiration for flashcards came about because a lot of us struggle with content-heavy mods. Flashcards have been proven to promote active recall, in contrast to passive review. Combined with Telegram bots' ability to allow collaboration, we are confident that our project will be well appreciated and used by many students and educators.
What it does
Although our code is not fully complete, we aspire our finished Telegram bot to be as comprehensive and fun as possible allowing it to value add to the joy of learning of our users. Currently, decks can be created and shared amongst friends or from a teacher to their students using a unique token. It is gamified with a leaderboard promoting healthy competition amongst students. It even has a surprise Motivate Me! function that you will have to try out for yourself to see what it does. We guarantee you will not be disappointed!
Eventually, users should be able to edit decks as well as edit specific flashcards in existing decks. Student's performance will be measured and accurately reflected on the Leaderboard for the various decks.
Based on some feedback collected from our peers, we want to implement additional features:
- Personalised work-rest timers (similar to the well-known Pomodoro timer) as different people stay productive for different amounts of time.
- Reminders and to-do list.
- Flexibility to allow questions and answers to be stored in different formats (currently we can only store text, but it is possible to store photos, voice and video recordings too)
- Ability to collaborate (i.e. added to Tele groups where multiple students can answer)
- Export decks as PDF files/Google Documents
How we built it
We wrote the code in Python using the Telegram Bot API. For the backend, we used PostgreSQL and hosted it online using Heroku.
Challenges we ran into
- Unfamiliarity with ConversationHandler and handling States
- SQL logic can get very complex and confusing if we want to create more functionalities from scratch (difficult to finish within a day)
- Time Constraints. Difficult to add more functionalities when we spend a lot of time crushing existing bugs.
Accomplishments that we're proud of
- Everybody contributed to fixing bugs and coming up with SQL logic (we killed brain cells together)
- Learning a brand new tech stack (for some)
- Joining and surviving their first hackathon (for one)
What we learned
- How to create a Telegram bot in python
- Familiarize ourselves with PostgreSQL and Heroku
- "Don't wish it was easier, wish you were better" - Jim Rohn
What's next for M.K.Y.S (057)
We would like to continue to expand our functionalities as such :
- Finish up the minimal functionalities (such as delete and edit decks or flashcards)
- Ability to export flashcards in different formats such as PDF
- Timer feature: Complete a certain deck within a given period of time
- Reminder: Set regular reminders to remind users to review their flashcards to promote active recall
- Categorise flashcards
Built With
- heroku
- postgresql
- python
- telegrambot

Log in or sign up for Devpost to join the conversation.