Heart Rate Monitor

200k+ Daily Active Users

AVFoundation | HealthKit | Core Data | Swift Charts | SwiftUI | Combine | Async/Await | MVVM
2023—2025

Inherited a UIKit-based open-source heart rate project and led its full architectural migration to SwiftUI, making the case internally for the rewrite based on design velocity and long-term maintainability. Modernized the camera pipeline to current Swift concurrency patterns and optimized the signal processing layer, including custom band-pass filters for RGB analysis that handle real-world edge cases like inconsistent lighting and poor finger placement.

The bigger lift was owning the end-to-end redesign of the measurement user flow. Users had to hold their finger on the camera for 60 seconds, and drop-off during that window was killing downstream conversion. Worked closely with designers and PMs to rethink the experience from first tap to result screen, adding real-time visual feedback, progress pacing, and in-flow messaging that kept users engaged through the full measurement. Iterated heavily on the result screen with the goal of converting free users to premium, treating that post-measurement moment as a high-intent conversion opportunity rather than just a data display.

Designed and shipped the Daily Readiness Score, a composite wellness metric that aggregates live readings with HealthKit data across cardiac, sleep, activity, and vitals domains. Collaborated with PMs on how each category should be weighted and how to surface the score in a way that felt meaningful rather than opaque. Ran A/B tests on score presentation with designers to validate that contextual explanations and actionable insights actually drove re-engagement beyond first session novelty.

Built the data visualization layer using Swift Charts, working closely with design on information hierarchy and readability for long-term trend views. Pushed back on early designs that prioritized aesthetics over comprehension and proposed alternatives that held up better in usability feedback.

The app grew to 200K+ DAU, with the measurement flow redesign contributing directly to improved subscription conversion.