Inspiration

I run a daily health protocol: morning light, supplements, cold showers, training, and a wind-down routine.

It lived in five places. Notes for the stack. Alarms for timing. Reminders for everything else. Calendar for work. A ring app for sleep and HRV.

Habit trackers did not fit either. They are built around streaks and scores. A protocol is different. You adjust it as your routine, goals, and life change.

Soom puts the whole day on one timeline.

Your calendar shows what the world needs from you. Soom shows what you need from you.

What it does

  • One timeline. Micros are small actions at a set time, like creatine or screens off. Sessions are blocks of time, like training or sauna. Both live on a full-day timeline.
  • Calendar sync with Soom Pro. iOS Calendar events appear alongside your protocol, so meetings and micros sit in the same day.
  • Apple Health. Sleep, HRV, steps, resting heart rate, and other supported data appear alongside your protocol, from compatible devices and apps that write to Apple Health.
  • No streaks. No scores. Check a micro or skip it. Missing a day changes nothing.
  • Notes and history. Keep timing, repeat settings, start dates, and your own notes with every micro as the protocol evolves.
  • Home Screen widget. See your next micro and calendar event without opening the app.
  • Private by design. No account. Your data stays on your device, and Pro backups go to your own iCloud.

How I built it

I am a designer, not a programmer.

I made the product, UX, design, architecture, and feature decisions, then wrote detailed specs for each part of the app. I built the codebase with Claude Code, planning and reviewing every change before it was merged.

Stack: Flutter and Dart, Drift with SQLite for local-first storage, Riverpod for state management, a native WidgetKit extension, HealthKit, EventKit, RevenueCat for Soom Pro, PostHog EU, and Sentry.

The product was designed in Figma and uses Tiempos for its editorial typography.

Soom Protocols launched on the App Store on September 18, 2026.

Challenges

  • Getting the timeline right. On the timeline, vertical space represents time. Longer sessions and calendar events get taller cards that hide the hour markers they cover, but a nine-hour meeting once hid six hours of the day and left micros floating without context. Now, if an item would hide too much of the timeline, it hides none of it, and a micro is never hidden by a meeting.
  • Making the hero useful without judging. At the top of Home, Soom shows one sentence about where you are in the day, such as "Mid-session. Now: Training, running until 16:00." Around fifteen rules are checked in priority order to generate it. They read the schedule, never completion state, so Soom describes the day without commenting on a skipped micro.
  • Redesigning after using it myself. The first version put the full timeline on Home. After weeks of daily use, I redesigned it. Home now shows the hero, a compact day graph, today's health data, and what is coming up. The full timeline moved to its own tab.

Built With

  • claude-code
  • dart
  • drift
  • eventkit
  • figma
  • flutter
  • healthkit
  • posthog
  • revenuecat
  • riverpod
  • sentry
  • sqlite
  • swiftui
  • widgetkit
Share this project:

Updates

Submission history