Skip to content
← All work
2026LivePublic

Steady

My wife and I both used a subscription app to keep track of habits. What we wanted was something more personal, without another subscription. Steady is one tap to log an urge, a trigger or a win, two minutes of breathing to ride out a craving, and nothing that ever leaves the phone. Built in a day.

Solo: spec, design and build (Claude Design, Claude Code)

Visit live ↗Source ↗The live link opens with sample data and saves nothing.
Built in
One day
Habit kinds
3
Runtime dependencies
3
Subscription
None

01 / problem

The problem

My wife and I were both using a subscription app to keep track of habits. It worked, but it was built for everyone, and what we wanted was something more personal. One more monthly subscription wasn't it either.

The same thing happened with Lull. The useful core of an app like this is small: a counter, a fast way to log the moment you're in, something to help you through a craving, and an honest picture of how it's going. That fits in a day, and it can be made to sound like a person who's on your side.

02 / build

What I built

I designed a working prototype in Claude Design, then directed Claude Code through the build in a single day: the quit tracker in the morning, and habits to build and track by the afternoon.

  • One tap, then details if you want them. Thought about it, had a trigger, strong urge, resisted. Each tap logs, buzzes and confirms with a short line, then offers the next useful step, like riding out a strong urge or adding what set it off.
  • Ride it out. A full-screen breathing guide, four seconds in and six out, for two minutes or as long as it takes, with prompts that change as you go and your own reason for quitting shown at the hard moment.
  • Slips without shame. A slip resets the streak but keeps every good day, and says so. Asking what led to it is optional.
  • Patterns in plain words. When moments happen, what triggers them, and how this week compares, written as a sentence of advice rather than a chart to decode.
  • Three kinds of habit. Break one (streaks and milestones), build one (daily or weekly goals, a streak that never punishes today, a session timer), or track one (counts or amounts, 7-day averages and trends).
  • Private by design. Everything lives on the phone, the app asks the browser not to evict it, and nothing is sent anywhere. No account, no server, three runtime dependencies.
  • A real app on the home screen. Offline-first PWA, self-hosted fonts, light and dark themes, and reduced-motion support. A demo mode loads sample data and never saves.

03 / signal

What it shows

Product judgement at small scale. Most of Steady's craft is in the voice: every message is written to be on your side, from "You don't need to quit forever today. Just today." to what it says after a slip. The data is shaped the same way, turned into sentences a person can act on.

It's also the same loop as Lull: a real need at home, a working app the same day, and a tool we now own instead of rent. The source is on GitHub under the MIT licence.

Gallery 1 / 10

Today: the streak, the next milestone, and one tap for whatever just happened. Details are optional, and offered afterwards.