This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I asked a friend what app he wished he had, and the answer was this one.
Like most of us, his college information doesn't arrive in a calendar. It arrives in WhatsApp groups, buried between memes:
Bhai kal 11 baje DBMS ka quiz hai, unit 3 tak.
Assignment submission last date 18/10 5pm.
By the time you scroll back to find it, you've already missed it.
Noted is an Android app that closes the gap between "a message in a group" and "I won't forget this":
- Share or paste a WhatsApp message into Noted.
- Swipe right to add it to the calendar, swipe left to save it as a note with a topic checklist, or long-press to set a reminder.
- It understands English, Hinglish and Devanagari ("kal", "parso", "saadhe 9 baje", "कल सुबह ८ बजे") and asks you to confirm ambiguous dates instead of guessing.
- Reminders fire even when the app is closed.
- A study planner turns your deadlines into a 7-day schedule around your classes and sleep.
Everything stays on the phone. No account and no server are needed.
Demo
- Download the APK: https://github.com/SkjOO5/Noted/releases/latest
Code
SkjOO5
/
Noted
Turn messy college WhatsApp messages into calendar events, notes and reminders with one swipe. 100% offline-first Android app + ML Study Planner.
Noted
Turn messy college WhatsApp messages into calendar events, notes and reminders, with one swipe.
Bhoolna mat. Don't forget.
Download APK · Report a bug · Request a feature · Read the DEV post
Screenshots
The problem
Most college information now lives in WhatsApp groups: quiz dates, syllabus, assignment deadlines, room changes, holidays. It arrives buried between "good morning" messages and memes. To act on any of it, you have to:
- leave WhatsApp,
- open a calendar or notes app,
- retype the date and details,
- set a reminder,
- go back and hope you did not lose your place.
People skip the steps, and then miss the quiz. This project was built for a friend who kept doing exactly that.
The solution
Share (or paste) a WhatsApp message into Noted. It reads the message, understands the date and time (including Hinglish like "kal 10 baje DBMS quiz,…
How I Built It
WhatsApp has no API for reading your chats, so I didn't pretend it does. Noted gets messages through the Android share sheet, paste, or an exported chat file.
- App: React, TypeScript and Capacitor for Android, with Dexie for on-device storage and scheduled local notifications.
- Date parser: a Hinglish and Devanagari normalizer in front of chrono-node. Relative words like "kal" are resolved against the message's own timestamp, so importing an old chat still gives the right date. It is covered by dozens of bilingual test fixtures.
- Ambiguity is shown, not hidden: "11/12" asks for confirmation, and a missing time is marked "time unconfirmed" (defaulting to 9:00 AM).
The open-weight AI part
I wanted to know whether an open model could generate good study plans. I fine-tuned Qwen3-8B with LoRA on Tinker, using 800 training, 100 validation and 100 held-out scenarios. A rule-based validator checks 8 constraints on every plan: overlaps, sleep window, classes, deadlines, daily limit, breaks, topic coverage and buffers.
The fine-tuned model beat the base model by a small margin (17 vs. 21 out of 100, which is within noise) and was far behind the greedy planner. Scheduling under hard constraints is a poor fit for free-form text generation.
So the design follows the data: the offline greedy planner is the default, and it is the only planner in the shipped APK. The APK does not contain or download any model. The Qwen3-8B + LoRA planner lives in an optional cloud backend in the repo (cloud/), where every model plan is checked by the same validator and invalid ones fall back to the greedy plan.
Why Does Open Innovation Matter?
- I could test my own assumption. Open weights and cheap fine-tuning let me compare a base model, a tuned model and a plain algorithm on my own data. The answer was "keep the model optional," and I only learned that because the whole pipeline was mine to run and measure.
- Privacy for a group chat. College chats are full of names. The core app never uploads them, and the optional planner is designed to send only dates, durations and course labels, never message text.
- I keep what I trained. The LoRA adapter is mine to host, swap or retrain as better small open models appear, and the app works fine without it.
Honest limitations
- Messages come in through share, paste or export. Noted can't read WhatsApp on its own.
- Android only. Reminder timing can vary on phones that aggressively kill background apps, so Noted also exports
.icsfiles. - Parsing is heuristic and covers common phrasing, not every sentence.
Prize Categories
- Best Use of Tinker: a LoRA fine-tune of Qwen3-8B with a held-out benchmark, reported honestly (a modest gain over the base model, well below the rule-based planner).




Top comments (0)