All work

Dose

Medication reminders designed for older eyes

A native iOS app for a pharmacy chain that helps patients over 65 take the right pill at the right time. Built in SwiftUI with accessibility as the primary requirement, not a checklist at the end.

Role
iOS engineer
When
2021
Team
2 iOS, 1 designer, 1 pharmacist advisor
Platforms
iOS, watchOS
9:41

Good morning, Amina

Next dose at 10:00

Metformin

500 mg, 1 tablet
with breakfast

Mark as takenTaken at 10:02
Remind me in 15 minutes

Later today

  • 13:00Vitamin D, 1 capsule
  • 21:00Atorvastatin, 20 mg
4.8
App Store rating, 2,300 reviews
91%
doses logged on time, month 3
AX5
largest Dynamic Type, fully supported

The problem

Patients on five or more medications miss doses often, and the chain’s existing app buried reminders three screens deep behind a login.

Constraints

  • Must be usable at the largest accessibility text size and with VoiceOver.
  • Reminders must fire even if the app has not been opened in weeks.
  • Health data cannot leave the device without explicit consent.

How it fits together

On the device

  • SwiftUI views
  • Core Data store
  • Rolling notification planner
  • watchOS companion
The patient’s own iCloud

In the cloud

  • CloudKit private database
  • HealthKit, with consent
  • Shareable PDF reports

Key decisions

Layouts that reflow, not shrink

Every screen switches from rows to stacked layouts at accessibility sizes. We tested each screen at AX5 with VoiceOver on, with patients, before it was merged.

Notifications scheduled from a rolling window

iOS caps pending notifications at 64. A background task keeps the next 7 days scheduled and re-plans whenever a prescription changes.

Private by default

Data lives in Core Data and syncs only through the user’s own iCloud via CloudKit. The pharmacy never sees dose history unless the patient shares a report.

Outcome

Featured by Apple in an accessibility collection. On-time dose logging reached 91% by month three, and pharmacy refill calls dropped by a third.

What I’d change

The watch app was an afterthought and it shows. Half of daily check-ins now happen on the wrist, and it deserved the same design attention.

Stack

  • Swift
  • SwiftUI
  • HealthKit
  • WidgetKit
  • Core Data
  • CloudKit