I built this because I kept asking: "What class is next?" and hated digging into a cluttered timetable app. I just wanted to glance at the notification shade and know. So this app exists: low-friction, glanceable, and exam-ready.
I didn’t want to:
- Open a calendar
- Scroll a PDF timetable
- Memorize everything
- Spam alarms that don’t adapt
I wanted one thing: reliable, context-aware notifications that tell me what’s next — without opening anything.
So this project became my solution — and now it’s yours too.
- 📅 Class Timetable Management – Organize weekly schedule fast
- 🔔 Smart Notifications – Pre-class + class start alerts with custom lead time
- 📚 Exam Mode – Separate exam timetable with automatic date-based switching
- ⚡ Bulk Exam Generator – Generate full exam schedules (duration, gaps, sessions)
- 🕒 12h / 24h Time Support – Flexible input & display
- 🧩 Reusable Templates – Subjects, time slots, exam presets
- 🎨 AMOLED Dark UI – Battery-friendly purple theme
- 🟣 Live Now Highlighting – See what’s currently in progress
- 💾 Offline First – Data stored locally (AsyncStorage)
- 🔐 Privacy Respecting – No accounts, no tracking
Add screenshots in
/assets/screenshots/and reference them here.
assets/
screenshots/
schedule.png
exam-mode.png
add-class.png
Example (uncomment once added):
git clone https://github.com/theadhithyankr/Time-Table-Notifier.git
cd Time-Table-Notifier
npm install
npx expo startPress: a (Android), i (iOS), or scan QR with Expo Go.
It’s Monday. 8:40 AM. You swipe down: “Physics starting in 10 minutes.” No app launch. No anxiety. You walk in ready.
- Add classes once
- Set lead time (5 / 10 / 15 min — your choice)
- Forget about it — notification shade = live timetable
- Exam season? Toggle Exam Mode
- Done — it reverts automatically after the end date
- Pre-class reminder: “ starting in X minutes”
- Start reminder: “ has started – ends at HH:MM”
- Uses platform channels (Android) for high priority
For reliable delivery on device builds, use a physical device with permissions granted.
- React Native (Expo)
- Expo Notifications
- AsyncStorage
- DateTimePicker
- EAS Build
- No accounts, no tracking, no cloud lock-in.
- Local-first. Your data is yours.
- Designed to reduce anxiety, not add another productivity chore.
- Dark by default because battery + eyes matter.
| Idea | Status |
|---|---|
| Home screen widget | Planned |
| Multi-semester profiles | Planned |
| Export / Import (JSON) | Planned |
| Optional sync (privacy-focused) | Exploring |
| Smart gap suggestions | Idea |
Have a feature dream? Open an issue — genuine suggestions are welcome.
If you’d like to polish, extend, or break things in a good way:
git checkout -b feature/your-idea
# build something small & focused
git commit -m "feat: add <short description>"
git push origin feature/your-ideaThen open a PR with a short summary + (screenshots if UI).
Does it work offline? Yes — everything is local. Will I lose data on update? Not unless storage is cleared manually. Why not push notifications? Local schedule = immediate + reliable. Can I make it sync across devices? Not yet — intentional for simplicity.
MIT — do what you like. Attribution appreciated but not required :).
If this made your routine smoother or saved you from walking into the wrong class — mission accomplished. Drop a star ⭐ if it helped.
“Stay ahead of your schedule — calmly.”
Feel free to fork, remix, and make it yours.