MyHealth app icon

MyHealth In daily use · private

Fifteen years of my own data, in one offline app.

A native Mac app that bundles a meal picker, a set of long-range charts and a list of theories my own numbers disproved. Three tabs, no server, no network — everything loads from inside the app.

Fifteen years of weights, bloodwork and habits sat in exports that nothing could read together. The analysis that finally connected them produced a pile of HTML tools, and a pile of HTML tools is not something you open every morning. MyHealth makes them an app: one icon in the Dock, everything bundled, nothing phoning home. The most useful tab turned out to be the one listing the theories the data killed — the plausible stories that turned out not to be true of me.

  • Pick a meal
  • Custom entries
  • An interactive meal picker
  • Remembers what you ate
  • Fifteen years on one timeline
  • Nine curves, 2012 to today
  • Theories my data disproved
  • Daily weight: spikes vs. drift
  • Seven deep-dive analyses
  • The questions still open
  • Runs entirely offline
  • No network entitlement
  • No server, no tracking libraries
  • Everything ships in the bundle
  • Sandboxed by default
  • Three tabs, one icon in the Dock
  • Charts drawn from scratch
  • Swap the content, keep the shell
  • Generated project, no checked-in Xcode
  • A real app, not a folder of tabs

How it’s built

SwiftUI wrapping a web view, which is the whole trick: the analysis tools stay HTML — quick to regenerate as the data grows — while the shell gives them a Dock icon, tabs and a window. The Swift side is three small files and never changes; updating the content means replacing HTML and rebuilding. The Xcode project is generated from a spec file rather than checked in, and the icon ladder is rendered from a single SVG.

  • macOS
  • SwiftUI · WKWebView
  • XcodeGen
  • Offline-only
  • Sandboxed
  • Agentic engineering

Built for one user, and he is very demanding.

MyHealth is private — the data in it is mine and stays on my machine. The pattern, though, travels: bundle your own tools into a real app.