Inspiration

As someone with ADHD, I know how overwhelming it can be to manage tasks, meetings, and appointments. Many reminder and alarm apps either lack the features I need or feel cluttered and complicated. That’s what turned me off from using them regularly. This project was inspired by the desire to create an app that is simple, intuitive, and powerful without feeling overwhelming. On top of that, the technical challenge of building a cross-platform app that syncs seamlessly across devices was very appealing. The goal is a minimal, clean UI that helps users stay on top of their reminders without added stress.

What it does

ReminderKit is a cross-platform, cross-device app with powerful custom notifications, built using Kotlin and Swift. Key features include:

  • Flexible repetition patterns for reminders.
  • Simple, intuitive UI that resembles an alarm app rather than a to-do list.
  • Easy onboarding, with anonymous sign-in and seamless migration to an email/password account.
  • Offline mode: reminders and categories can be created or deleted locally and sync automatically when back online.
  • Freemium model with a free trial, offering premium features such as custom repetition patterns and additional reminders.

How I built it

I built the app natively for iOS and Android, using custom notification code to enable actions that sync in real time across devices via Firebase. Offline support was implemented with queued actions that propagate once the device reconnects. The UI was designed for simplicity and minimal cognitive load, prioritizing a smooth user experience over flashy features.

Challenges I ran into

Design decisions were difficult, particularly choosing between a to-do list style and an alarm-based UI. I ultimately prioritized simplicity to reduce cognitive load. Implementing custom notifications on iOS and Android was complex, especially ensuring that actions (like dismissing alarms) sync correctly across devices. Exploring iOS 16’s AlarmKit for more intrusive notifications was ultimately discarded due to API limitations. Offline mode and reliable syncing with Firebase also posed significant challenges.

Accomplishments I'm proud of

  • A clean, minimal design that feels natural and reduces overwhelm.
  • Seamless cross-device syncing with low latency.
  • Successfully balancing functionality with simplicity, creating an app tailored for ADHD users without unnecessary features.

What I learned

  • Less is more, especially in productivity apps: a minimal design can significantly reduce user overwhelm.
  • Developing for iOS comes with unique challenges due to platform limitations compared to Android.

What's next for ReminderKit

  • Release on iOS, potentially applying for Critical Alerts. Otherwise, leverage Time Sensitive notifications, which still respect silent mode limitations.
  • Add a web app (e.g., using Electron) for desktop alarm setup.
  • Add more sign options: Google sign-in, Apple sign-in, and email passwordless.
  • Offer yearly and lifetime subscription models.
  • Add widgets to see what reminders are coming up.
  • Add optional pre-reminders, to give the user a heads up on an upcoming reminder.

Built With

Share this project:

Updates

Submission history