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. π
Top comments (0)