← Work

Independent product · Health & fitness

Slope

A private fitness companion that turns noisy daily data into a useful direction.

I designed and shipped Slope as a local-first Apple-platform app for calorie guidance, logging, trends, HealthKit, and on-device coaching.

Role
Product design · iOS engineering · Release
Platform
iPhone · iPad · Apple Watch
Stack
SwiftUI · SwiftData · CloudKit · HealthKit
Released
App Store · 2026

Fitness apps often collect everything and explain nothing.

Daily weight is noisy. Logging becomes a second job. Slope focuses on one question: am I moving in the right direction?

It smooths weight trends, relates intake to observed change, and adjusts targets as the user’s own data becomes useful.

Local-first was an architectural constraint, not a privacy slogan.

Health information stays on the user’s devices and private iCloud account. There is no Slope account, analytics pipeline, advertising SDK, or application server.

Source of truth

SwiftData on device

Weights, sessions, meals, routines, and derived insights remain usable offline. The interface reads from the same local model it writes.

Private continuity

CloudKit sync

Apple’s private database keeps the experience consistent across devices without creating another identity or storage system.

System integration

HealthKit

Slope reads permitted weight and activity signals and writes workouts back, with every data type independently controlled by the user.

On-device intelligence

Foundation Models

Coaching turns already-computed numbers into concise context on device. It phrases data; it does not invent measurements or send them away.

A simple purchase model still needs a rigorous entitlement model.

Slope is free to try, then uses one lifetime purchase across supported devices. StoreKit remains the source of truth for entitlement state.

The purchase layer separates checkout, transaction observation, restores, and entitlement refresh. Access is recalculated whenever the app becomes active.

  • Transaction observation is long-lived and independent of checkout UI.
  • Verified StoreKit transactions drive entitlement changes.
  • Restore and device changes converge on the same access state.
  • Purchase failures leave the product usable and the state explainable.

One independently shipped product, owned from model to storefront.

Slope is live on the App Store for iPhone and iPad, with Apple Watch support, a one-time purchase, private CloudKit sync, and no collected user data.

Next Expences: private finance tracking →