Inspiration

As a freshman at UMBC, you might be juggling six courses, clubs, friends, family, a messy dorm, and adjusting to campus life. Everyone says "make a to-do list," but staring at fourteen tasks often makes stress worse. The problem isn't knowing what to do. It's knowing what to do first, and when. So a lot of us just freeze.

What it does

OneThing turns a messy brain dump into one small, doable step at a time.

  • Brain dump: type everything on your mind, as messy as you want.
  • One task at a time: instead of a full list, you see a single next step that fits right now.
  • Respects your plans: if you write "coffee at 7am," it shows "You said 7:00 AM." If you don't give a time, our ML model predicts the best time and place.
  • Make it smaller: if a step still feels too big, it breaks it into 2–3 tiny actions.
  • Action shortcuts: opens a Gmail draft already written for emailing a professor, Google Maps directions for errands, or Google Calendar for scheduling.
  • Reflect: a calm summary of what you finished, with no judgment for what's left.

How we built it

  • Design: UI designed in Google Stitch.
  • Backend: Python and Flask, deployed on Google Cloud Run.
  • Gemini API: reads the brain dump, splits it into small tasks, extracts stated times and places, and writes email drafts.
  • Custom ML model: trained on Microsoft Research's MS-LaTTE dataset (10,101 real to-do tasks, labeled by annotators with when and where each is usually done). We used TF-IDF features with logistic regression and balanced class weights. On macro F1, the model scores 0.66 vs. about 0.27 for a most-common-label baseline on location, and 0.40 vs. about 0.16 on time of day.
  • Tools: built with the help of Google Antigravity's AI coding agent.

Challenges we ran into

  • The first version silently returned pre-written sample tasks when Gemini was busy, so we added model fallbacks and a visible notice when sample tasks are shown.
  • The ML model only sees task wording, so it ignored times students typed. We now use stated times and places first and let the model fill in the gaps.
  • The dataset has few school-specific tasks, so Gemini handles schoolwork while the model is strongest on everyday errands and chores.

Accomplishments that we're proud of

A working, deployed app with a real trained model, built solo in 24 hours. Our favorite moment: the same brain dump gives a study task in the morning and a small, restful task at night.

What we learned

How to train and evaluate a text classifier on real-world data, why accuracy can be misleading on imbalanced classes, and how to combine an LLM with a traditional ML model.

What's next for OneThing

Accounts so tasks persist, a mobile app, training on more student-specific tasks, and learning each student's personal patterns over time.

Built With

Share this project:

Updates

Submission history