Rorra - Task Reminder App
Year
2026
Tech stack
Flutter(Dart), Hive, Local Notifications, Alarm, TTS, Shared Preferences, Provider
About
Rorra is a fully offline task reminder app that keeps following up with sound or a spoken voice message until you either start the task, finish it, or snooze it on purpose.
The Problem
Most reminder apps send a single notification at the scheduled time. If you are busy, driving, or just not looking at your phone, that one alert slips past and the task is forgotten. There is no follow up and no pressure to actually deal with it. People end up missing appointments, deadlines, medication, and small daily chores, not because they did not set a reminder, but because the reminder was too easy to ignore.
What I Built
I built Rorra, a Flutter app that treats a reminder as a conversation instead of a one time ping. When a task is close to its due time, Rorra alerts you and offers three quick actions right on the notification: "I'm Working", "Done", or "Wait 10 min". If you do nothing, it does not give up. It escalates the sound, marks the task overdue, and keeps reminding you. If you say you are working on it, it checks back in later to make sure you actually finished. All of this runs on the device with no account, no server, and no internet needed. Background alarm workers keep the checks alive even if the app is swept from recents or the phone reboots.
Key Features
Three tabs: Pending, In Progress, and Done, each with a live count badge
Filter any tab by priority (All, High, Medium, Low)
Smart sorting: overdue tasks first, then by due time, with no reminder tasks at the bottom
Overdue detection with a summary banner and a stronger alert channel
Snooze tracking so repeat delays are visible
Voice mode with a "Test Voice" button in Settings to confirm text to speech works on your device
Quiet Hours: pick a start and end hour and Rorra stays silent overnight, including across midnight
A master App Active switch that pauses or resumes all notifications and background workers at once
Custom default reminder time, your name for voice messages, and light or dark theme
Fully offline, no sign up, no tracking, no network calls
Project Details
How it works
- Add a task. You give it a title, an optional description, a priority of High, Medium, or Low, a due date and time, and how far ahead you want the first reminder (5, 10, or 30 minutes before). You can also save a task with no reminder at all if you just want it on the list.
- Rorra schedules the alert. It uses a timezone aware scheduled notification. If the phone allows exact alarms it uses those, otherwise it falls back to inexact alarms so the reminder still fires. If the due time has already passed when you save, it reminds you immediately instead of silently losing it.
- The reminder fires with choices. The notification shows action buttons. "I'm Working" moves the task to In Progress and sets a follow up check in 20 minutes. "Done" completes it and cancels everything. "Wait 10 min" snoozes it, and the snooze count is shown so you can see how many times you have pushed it back.
- Sound matches urgency. With voice mode on, Rorra speaks a personalised message using your name, for example "Hi Sam, your task Pay rent is due in 5 minutes, please take action." With voice mode off, it plays a louder alarm when the task is minutes away and a softer tone when there is more time.
- Background workers keep watch. A periodic alarm every 15 minutes scans for overdue pending tasks and re alerts them. Another every 20 minutes chases In Progress tasks that were never finished. These are registered to reschedule automatically after a reboot. Each background run reopens the local database from disk so it never acts on stale data or sends a ghost notification for a task you already completed.
- Everything stays local. Tasks and settings live in Hive on the device. The home screen listens to the database and updates live, with a timer that refreshes countdowns and overdue flags every 30 seconds while you have it open.
Screenshots
The Result
Rorra turns a reminder from a single alert you can ignore into a system that stays on your case until the task is genuinely handled. It runs entirely on the device, keeps working after the app is closed or the phone restarts, and gives you fast one tap control straight from the notification. The result is a lightweight reminder app that is actually hard to forget, with your data staying private on your own phone.