About the project

I built Yomo to solve a real workflow problem: reminders break when you switch between iOS and Android. As someone who uses multiple devices, Sam Beckman’s brief felt painfully familiar. I wanted to build a reminder app where actions happen at the moment of need, not after extra taps and app switching.

What inspired me

Most reminder apps force a tradeoff:

  • Great native experience, but platform lock-in
  • Cross-platform support, but weak notification interactions and slow sync

Yomo started with one principle: if you handle a reminder on one device, every device should immediately reflect that state.

How I built it

Yomo is a native mobile project with shared backend infrastructure:

  • iOS: SwiftUI + MVVM, Notification Content Extension for in-notification snooze
  • Android: Kotlin + Jetpack Compose, AlarmManager + receivers for reliable local notifications
  • Backend: Firebase Auth, Firestore real-time listeners, Cloud Functions, FCM silent push
  • Monetization: RevenueCat for entitlement checks, paywall, purchase/restore flows
  • AI creation flow: Natural-language parsing pipeline with fallback strategy

Core flow:

  1. User creates/edits/completes a reminder
  2. Firestore updates as source of truth
  3. Cloud Function pushes sync events to other devices
  4. Other devices update UI and local notification schedule

Challenges I faced

  • Notification-level UX on iOS: Building minute-level snooze in a notification extension while keeping the interaction fast and clear.
  • Cross-device consistency: Ensuring reminder state and notification state both stay in sync, not just in-app lists.
  • Platform differences: iOS and Android handle scheduling and notification actions very differently; each required native-first decisions.
  • Time constraints: Shipping a contest-ready MVP meant strict scoping and prioritizing high-impact features over nice-to-haves.

What I learned

  • Real-time sync must be designed as a system, not a single API call.
  • Monetization works best when premium features map to workflows users immediately value.
  • Native platform depth matters for high-frequency interactions like reminders.
  • Good product constraints can improve focus: by narrowing scope, I shipped a clearer and stronger MVP.

Yomo is still evolving, but this version proves the core thesis: faster creation, better notification interaction, and reliable cross-device reminder consistency.

Built With

Share this project:

Updates