### Inspiration

Sam’s Smart Reminders started from my own frustration with reminder apps that looked good but broke trust in everyday use. I’d set reminders on one device, then miss updates on another, or lose momentum because recurring tasks still required too much manual work. I wanted to build something that felt dependable in real life, not just in a demo.

### What I built

I built a cross-platform reminders app for iOS and Android focused on three core strengths:

  1. Reliable sync across devices, so reminders stay consistent wherever I open the app.
  2. Actionable notifications, so I can snooze or reschedule immediately when plans change.
  3. Recurring reminders, so routines continue automatically without recreating tasks.

My goal was to support follow-through, not just task entry.

### How I built it

I built the app with Expo and React Native using a shared mobile codebase. I implemented reminder lifecycle logic end-to-end: creating reminders, triggering notifications, snoozing, rescheduling, completing, restoring, and archiving. I also built the sync layer and data flow so task state remains consistent across sessions and devices. On top of that, I added categories, due-date grouping, and settings controls so people can tailor reminders to how they actually work.

### Challenges I faced

The hardest part was making everything feel simple while handling complex edge cases behind the scenes. I had to solve for:

  1. Keeping reminder state accurate across devices.
  2. Updating notification timing safely after snooze and reschedule actions.
  3. Building recurring reminder behavior that is flexible but predictable.
  4. Designing UI flows that stay clean even with advanced controls.

A lot of my effort went into reliability, reconciliation, and reducing failure points that would break user trust.

### What I learned

I learned that reminder apps are trust products. If sync is inconsistent or notification actions fail once, users lose confidence quickly. A model I kept in mind was:

[ \text{User Trust} \propto \text{Sync Reliability} + \text{Notification Actionability} + \text{Recurrence Accuracy} ]

This project taught me to prioritize continuity and recovery: when plans change, the app should help people adapt instantly and stay on track.

Built With

  • anything
  • codex
  • supabase
Share this project:

Updates