Reminder Mate 2.0

Reminder Mate Logo

Reminder Mate is a simple productivity app to help users manage reminders. It allows users to add reminders at specific time and get reminded through notifications. It provides an easy way to snooze reminders or mark completed through notifications itself.

Reminder Mate is completely offline and does not share any user data. Android backup backs up Reminder Mate data as well. You can also do a manual backup and restore through settings page in the app.

Reminder Mate is ideal for use cases like

Reminder Mate is totally free and without any ads. It uses the latest Material 3 UI design. It is built with the philosophy of producing high quality apps that are simple and easy to use.

FAQ

1. As Reminder Mate is offline, do I need to take regular backup of data?
Ans. Android settings has device backup feature. This regularly backs up apps on the device (usually on a daily basis) and backs up Reminder Mate data as well. This should be sufficient for most usecases. You can also do a manual backup of Reminder Mate data through settings page of the app and use it to restore reminders later.

2. How does purging old reminders from settings page work?
Ans. Reminder mate would delete periodically reminders that are in completed state for more than 30 days. This would ensure that number of reminders does not increase to slow down the app. Any reminder with start date of more than 30 days would have their start dates changes so that they are within 30 days.

Data Backup Format

We believe that data outlives code. It should be easier for users to take their data from one app and export it to another app in case they want to do that. So we publish our data format so that it enables the user to do so.

Data is saved in gzipped JSON format when you do a backup from settings page. File has the following format remindermate_<yyyyMMddHHmm>.json.gz. Eg. remindermate_202307122102.json.gz.

Content has an array of reminders and actions similar to the following.

One-off reminder


        {
            "reminders": [
                {
                    "id": 1,
                    "title": "Take laptop backup",
                    "startDateTime": "2025-12-25T09:35:00"
                }
            ],
            "actions": [
                {
                    "reminderId": 1,
                    "originalScheduledTime": "2025-12-25T09:35:00",
                    "type": "COMPLETED"
                }
            ]
        }    
        
        

Recurrences have a startDateTime and an optional count. SNOOZED reminders have rescheduledTime in their actions.

Repeat reminders look like the below


{
    "reminders": [
        {
            "id": 2,
            "title": "Pickup milk",
            "description": "Pick up milk from grocery store",
            "startDateTime": "2025-12-25T09:35:00",
            "recurrence": {
                "frequency": "DAILY",
                "interval": 2, 
                "count": 30
            }
        },
        {
            "id": 3,
            "title": "Go to gym",
            "description": "Strength training thrice a week",
            "startDateTime": "2025-12-25T18:30:00",
            "recurrence": {
                "frequency": "WEEKLY",
                "daysOfWeek": [
                    "THURSDAY",
                    "SATURDAY",
                    "TUESDAY"
                ]
            }
        }
    ],
    "actions": [
        {
            "reminderId": 2,
            "originalScheduledTime": "2025-12-25T09:35:00",
            "type": "SNOOZED",
            "rescheduledTime": "2025-12-25T11:00:00"
        }
    ]
}
    
    
frequency could be HOUR, MINUTE, DAY, WEEK, MONTH or YEAR. reminders has entry only for completed reminders or if you have snoozed a reminder. originalScheduledTime differs from rescheduledTime for snoozed reminders. type is SNOOZED, COMPLETED or DELETED.