Okay, so in my last post I talked about the idea behind Schedule Sensei – an Android app that auto-adds calendar events from your WhatsApp and Gmail notifications using on-device NLP.
Well… the code is live on GitHub now. 🎉
🔗 https://github.com/vyomanshi27/Schedule-Sensei
What's actually in the repo right now
Here's a quick rundown of what's been pushed:
🔔 NotificationListenerService – The core of the whole thing. Hooks into Android's notification system (with your explicit permission) and intercepts messages from WhatsApp, Gmail, and SMS before they disappear.
🧠 On-device NLP Pipeline – This was the fun part to build. Uses regex + a lightweight rule-based parser to pull out:
Dates ("tomorrow", "next Friday", "25th June")
Times ("at 3 PM", "10 AM")
Event titles (best-guess extraction from message context)
Locations when mentioned
📅 Calendar Integration – High-confidence events get added directly via the CalendarContract API. No third-party dependencies, no permissions you don't expect.
⚠️ Confidence Scoring System – Not every message is "Meeting at 3 PM tomorrow." Some are "maybe Thursday? idk lol". The app gives every parsed event a confidence score – high = auto-add, low = plays a custom sound and queues it for your review.
⚙️ Settings Screen (Jetpack Compose) – Toggle per-source (WhatsApp only, Gmail only, SMS only), toggle auto-add, toggle custom sounds. It's minimal right now but functional.
What's NOT done yet (being honest here)
A few things are still being polished before I'd call this v1.0:
Better NLP for recurring events ("every Monday at 9")
Handling multiple dates in one message ("available Mon or Wed?")
Edge case: messages with time zones
UI polish on the pending events review screen
Testing on more Android versions
Why I'm posting before it's 100% done
Because I've been building this mostly solo and I've hit the point where I genuinely can't see my own blind spots anymore.
I need people to:
⭐ Star the repo if the idea excites you (even just to follow the journey)
🐛 Open issues for edge cases I haven't thought of
💬 Drop comments here – what messages would break my parser?
🛠 Contribute if you're into Android/NLP/Jetpack Compose
What would feel right to you? Auto-add everything and let me undo? Or always confirm first?
Drop your thoughts below 👇
🔗 Check out the repo – contributions, issues, and stars all massively appreciated. Let's build this thing properly. 🚀





















