Inspiration

Every morning I checked Canvas, then Gmail, then Discord, and I still wasn’t sure I had everything. Some days, checking took longer than the thing I was looking for. Even after checking, I’d have a nagging feeling, and that feeling usually meant I’d missed a deadline. Managing so many apps and websites is a hustle for any student. So we built Tomo: a team of agents that finds the dates, deadlines, and meetings that matter, and asks before adding them to your calendar.

What it does

Tomo reads your Canvas feed, Gmail, and Discord announcements. Four CREAO agents each have one job: the Mail Scanner finds important emails and events, the Task Analyst ranks and summarizes tasks and estimates effort, the Planner suggests study blocks, and the Digest Writer creates a morning brief. Each agent passes its work to the next, like a chain. You approve everything before it reaches your calendar.

For groups, events the agents find can go to your Discord as an RSVP poll, and shared tasks can announce when they’re finished. If you remove the agents, the ranking, summaries, study plan, brief, and important emails disappear.

How we built it

We built Tomo with Deepseek flash 4.1 in Opencode and Claude Code. It’s an Electron desktop widget with a pastel UI. The agents are built on agent.creao.ai, each with its own App ID and API key, and an orchestrator calls them through the API Trigger. Each agent has a JSON contract that we validate, plus caching and cost guards. A mock mode lets us demo offline. A Discord bot handles the digest, polls, and posts through one safe posting function that’s off by default and always shows a preview before sending.

Challenges we ran into

Our first challenge was getting the agents to answer in a format the app could use. At first they replied with long sentences instead of structured data. We fixed this by writing stricter instructions and validating every reply against a schema, so a bad answer is caught and the app falls back to the last good result instead of crashing.

The second challenge was trust. In early versions, deadlines showed up on the wrong day, and one assignment turned into a dozen study blocks, which made the calendar harder to read than the inbox we were escaping. We spent a long time tracing date and timezone problems, grouping study sessions into one entry per task, and removing duplicates, because an app that gets a deadline wrong is worse than no app.

We also got stuck on access. Each CREAO agent has its own App ID and API key, and the credits for chatting in the app are separate from the developer credits for API calls, so we couldn’t run anything from our own app for a while.

Accomplishments that we're proud of

The four agents complement each other and work well as a team. There’s a human approval step at every stage, and anything that gets posted to Discord shows a preview first. Personally, I don’t have to dig through 100 emails every day or hunt for one date or address in a fast-moving chat. I’m also proud that Tomo could help other busy students manage everything at once.

What we learned

Agents need strict output contracts, and the app has to cope when they drift. Less is better: grouping similar study sessions into one task made the app calmer and less overwhelming. And trust matters more than cleverness, because one wrong date breaks the whole idea.

What's next for Tomo

We have a lot in mind: picking up club events from Discord and email automatically, including recurring meetings; a weekly look-back comparing estimated and actual study time, feeding the Planner; and support for Slack, Teams, or Notion so other teams can use it. We also want to bring Tomo’s mascot to life as a study buddy you can interact with.

Built With

Share this project:

Updates

Submission history