Inspiration

TOMO started with a simple frustration: I wanted to learn consistently, but I kept forgetting to actually do it.

I first experienced this while trying to teach myself finance using Breaking Into Wall Street. I had all the learning materials, but opening PDFs, figuring out where I left off, and remembering to study every day became a hassle. Some days, I'd simply forget.

I faced a similar problem as a student at Singapore Management University (SMU). I wanted to regularly test my understanding of lectures instead of forgetting what I'd learned and cramming everything before finals. I also wanted to improve my Chinese through daily conversations and speaking practice, but struggled to make it a consistent habit.

That's when I started wondering: What if learning could come to me, instead of me having to constantly make time for it?

Traditional AI chatbots are useful, but they wait for you to initiate a conversation. They don't automatically check in on you, remind you what you've learned, or help you consistently revisit concepts you've struggled with.

That inspired TOMO, an AI study buddy that doesn't just answer questions but proactively helps you learn.

What It Does

TOMO is a personalized AI study buddy on Telegram that turns small learning moments into consistent habits.

Users begin with a simple website where they choose what they want to learn, how they prefer to study, and when they want their study sessions. They can set a learning plan for a week, a month, a custom duration, or even indefinitely.

Once everything is set up, TOMO takes the initiative. It messages users directly on Telegram at their scheduled time, delivering bite-sized lessons and quizzes without requiring them to open another app or remember to study.

TOMO supports three main learning experiences:

  • University Courses: Students can upload their course outlines, lecture slides, and past papers. TOMO aligns lessons with their course structure, teaches from their materials, and generates relevant quizzes, including variations of past exam questions.
  • Language Learning: Users can practice vocabulary, listening, pronunciation, and everyday conversations. TOMO provides audio dialogues, interactive speaking exercises, and feedback on voice messages.
  • Learn Something New: Users can explore any topic they're curious about, from finance and investing to history or general knowledge, without needing to upload study materials.

But TOMO goes beyond simply teaching and testing.

It remembers what each lesson covered, quizzes users on those concepts in subsequent sessions, and provides personalized feedback on their answers. Instead of immediately revealing the correct answer, TOMO helps users think through their mistakes.

It also tracks performance, identifies weak areas, and revisits difficult concepts through new questions to reinforce understanding.

Learning is personalized and flexible. After each quiz, users can tell TOMO whether the questions were too easy, too difficult, or whether they want more practice on a particular topic. TOMO uses this feedback to adjust future sessions.

Users can also change their schedule, lesson length, and quiz preferences directly through Telegram.

The goal is simple: Make learning something people can realistically maintain, even if they only have five minutes a day.

How We Built It

We built TOMO using a combination of web technologies, AI models, and Telegram integration.

The frontend was developed using Vite, while the backend runs on Flask deployed through Vercel. We use Neon PostgreSQL to store learning plans, session history, quiz performance, and user progress.

Telegram serves as the primary learning interface, connected through a webhook. A scheduler checks for upcoming sessions every minute, allowing TOMO to proactively deliver lessons and quizzes at the user's chosen time.

For AI functionality, TOMO uses an OpenAI-compatible gateway with Gemini Flash Lite for text and audio processing and GPT-4o-mini as a fallback.

However, TOMO is more than a chatbot connected to an AI model.

We developed a system that maintains each user's learning state, including what they've studied, which questions they've answered incorrectly, and which concepts need reinforcement.

Quizzes are generated based on the content actually taught in previous lessons, while multiple-choice and true-or-false questions can be graded instantly without requiring an additional AI call.

We also implemented structured JSON responses, error recovery, automatic retries, and model fallbacks to make the experience more reliable.

For university courses, uploaded files are processed in the user's browser, with only extracted text sent to the backend.

For language learning, we designed lessons around established language-teaching principles, emphasizing practical communication, listening, and speaking rather than vocabulary memorization alone.

AI Safety

Because TOMO processes user-generated answers, voice transcripts, and uploaded study materials, we wanted to make sure these inputs couldn't manipulate the AI's behavior.

We designed the system to treat uploaded content and user responses as learning data rather than instructions.

To test this, we conducted eight adversarial attacks against the actual AI system, including malicious instructions embedded in slides, attempts to manipulate grading, prompt extraction, and jailbreak attempts.

These tests uncovered a real vulnerability: an answer containing fake grading JSON could incorrectly receive full marks.

We fixed the issue and tested the system again, alongside 102 automated checks.

We also documented TOMO's current limitations, including the possibility of AI-generated errors, approximate pronunciation feedback, and the absence of user authentication.

Challenges We Ran Into

Building TOMO taught us that making an AI application reliable requires much more than writing a good prompt.

1. Delivering scheduled lessons on a serverless platform

Since Vercel doesn't support a continuously running bot process in our setup, we couldn't rely on a traditional background scheduler.

We solved this by combining Telegram webhooks, database locking, and a scheduler that checks for due sessions every minute.

2. Making pronunciation feedback more accurate

We discovered that when an AI model already knows what a learner is supposed to say, it can become biased toward hearing the expected answer.

To address this, we changed the process so TOMO first transcribes the voice message without seeing the target phrase, then compares the transcription against the expected response.

3. Getting audio to work reliably after deployment

Our text-to-speech feature worked locally but failed in production when Microsoft's voice service refused the server connection.

We implemented timeouts, backup voice generation, and saved audio clips to prevent silent failures.

4. Handling unpredictable AI responses

During testing, a long AI-generated quiz contained a single missing comma in its JSON output, causing the scheduled session to fail.

We introduced stricter output formatting, automatic JSON repair, retries, and fallback models to improve reliability.

These challenges pushed us to think beyond whether a feature worked once and focus on whether it could work consistently for real users.

Accomplishments We're Proud Of

Our biggest accomplishment is building a fully deployed learning system that users can experience from onboarding to scheduled Telegram lessons and quizzes.

Rather than stopping at a chatbot prototype, we built the infrastructure needed to support personalized learning plans, persistent learning history, automated scheduling, feedback, and progress tracking.

We're also proud of incorporating research-informed language learning techniques and testing TOMO against real AI security vulnerabilities.

Most importantly, we turned a personal frustration into a practical tool that can help others learn more consistently.

What We Learned

Building TOMO changed how we think about AI-powered products.

We learned that a useful AI product needs more than an intelligent model. It needs a reliable system around it.

Scheduling, maintaining context, tracking progress, handling errors, and recovering from failures are just as important as generating a good lesson.

We also learned the importance of testing beyond normal user behavior. Our security tests uncovered a grading vulnerability that ordinary testing hadn't caught.

And perhaps our biggest takeaway was that good technology doesn't always need to change how people behave. Sometimes, it just needs to fit into the routines they already have.

That's why we built TOMO around Telegram, rather than expecting users to adopt another platform they need to remember to open.

What's Next for TOMO

We want to continue developing TOMO into a more personalized and adaptive learning companion.

Our next steps include introducing user accounts, expanding language and subject support, offering premium voice options, and building a progress dashboard where users can visualize their improvement.

We also plan to make review scheduling more adaptive, using each learner's performance to determine when difficult concepts should be revisited.

Ultimately, we envision TOMO as a study buddy that grows alongside its users, helping them learn, practice, and improve one small session at a time.

Because learning shouldn't depend on remembering to start. With TOMO, learning comes to you.


Try TOMO: https://study-buddy-frontend-pi.vercel.app/

GitHub: https://github.com/Biancasy919/Study-Buddy

Telegram Bot: https://t.me/Study_io_Bot

Share this project:

Updates

Submission history