DeskRhythm goes native, and a full week on Fazon
Two products this week.
The headline: I started building DeskRhythm's native iOS app. DeskRhythm began as a one-day, local-first web MVP — a calm sit / stand / move timer with no account and no streak nags — and now it has a real iOS companion, a TestFlight build (v0.9). What's in it so far: the core rhythm timer with a Stop confirmation and an end-of-day summary, a History tab with Swift Charts trends over your recent days, and a settings editor (movement sliders, per-movement durations, reset-to-defaults) that mirrors the web app's scales. I also spent real time on the unglamorous part — recovering cleanly from a corrupted local store and tightening file protection — the work that decides whether a local-first app survives contact with real devices. EN + SV throughout.
Meanwhile Fazon kept maturing on several fronts:
- Food-log export — pick a period, export to CSV or PDF, share it out (RFC-4180-clean CSV, EN/SV parity).
- A "You" home — a proper profile, settings, and about destination, backed by a new
UserProfilemodel and a schema migration. - Trends polish — selectable chart bars with an in-card readout, plus VoiceOver double-tap so the chart is usable without sight.
- Quiet hardening — bounded a few unbounded reads (HealthKit weight history, the catalogue unzip, meal fetches) and fixed food search to rank staple ingredients above composite dishes.
Next up on Fazon: a multi-purpose +Log button that routes to the right logging action — currently in spec.