Skip to content
All work

Case study · 2023

SmappCare

My first Android app — store prescriptions, set medicine reminders, and check daily COVID case data.

SmappCare hero

SmappCare was my first Android app. I created it to store prescriptions, schedule medicine reminders, surface daily COVID case data, and a handful of other small care utilities.

The problem

During the pandemic, my family wanted an easy way to keep track of prescriptions and meds without paper sticky notes. Existing apps were either subscription-walled or full of ads.

Approach

  • React Native + Expo for fast iteration and managed builds — EAS Build handled cloud signing and the path to the Play Store.
  • Express + MongoDB backend with JWT auth and bcrypt-hashed passwords. Mongoose models for users, prescriptions, and reminder schedules.
  • Offline-first sync — actions queue locally and replay against the backend when connectivity returns. Critical for a med-reminder app that has to work on a flaky connection at 3am.
  • Expo Notifications for scheduled medicine reminders; Expo Camera for prescription image capture; public-API COVID widget on the dashboard.
  • Atomic-design component structure (atoms, molecules, templates) so the codebase stayed organized as features grew.

Highlights

  • Offline-first sync that survives 3am. A med-reminder app that fails because of a missing data connection isn't doing its job. Actions queue in a local store and replay against the API when the device reconnects — the user never sees an error for adding a reminder offline.
  • Prescription camera with structured storage. Expo Camera plus a small on-device cropper, then images attach to a prescription record alongside drug name, dose, and refill date. Means the camera roll isn't where critical medical info ends up.
  • BMI calculator with category guidance. Not just a number — categorizes against WHO ranges and suggests action thresholds. Simple feature, but the kind of small touch users actually mentioned in feedback.
  • Atomic-design component structure kept the codebase navigable as features grew — atoms for the lowest-level UI, molecules for compound widgets, templates for screen scaffolds. Future-me thanks past-me.

What I'd do differently

  • Drop the backend, go fully local. Health data shouldn't sit on a third-party server I'm responsible for. A SQLite-on-device approach with optional iCloud Drive / Google Drive sync would shed an entire ops surface and align better with the trust model health apps need.
  • iOS from day one. Shipping Android-only made sense at the time but cut off half the audience. The Expo managed workflow would have made the iOS build cheap; the real cost was filing for Apple Developer and writing one set of Info.plist permission strings.