
A habit tracker that pulls your numbers from Apple Health automatically, then asks you one thing each evening: how did today feel?
Most habit apps make you do the work, with badges to chase or numbers to type in by hand. LifeFlow does the opposite. It handles the logging, so the only thing it asks of you is a moment of reflection at the end of the day.
To find out, I surveyed 17 people: students, busy professionals, and a few long-term journalers who had given up. Their answers grouped into a few recurring frustrations.
The answers point to two problems. The first is mental effort. Logging takes work, feels like a chore, is easy to forget, and makes people decide what to track before they even start. The second is that the data is scattered. The numbers sit in Apple Health, tasks sit in Calendar, and mood isn't recorded anywhere. Nothing pulls them together.
Privacy came up only once as a reason people quit. But when respondents rated the app they wanted, on-device privacy ranked high: 76.5% rated it 4 or 5 out of 5. So privacy was a minor reason to quit but a top requirement for the app itself. The two findings shaped different parts of the design.
Before opening Figma, I read through every survey response and pulled out the patterns. Four findings drove the main design decisions. Each one is paired with the chart it came from below.
People didn't want it fully manual or fully automatic. 11 of 17 respondents preferred a mix: track the numbers automatically, then ask a few short questions in the evening. That became the way LifeFlow works.
Auto task and goal tracking topped the list at 3.94/5. The combined daily overview came next at 3.76/5. Location logging scored 1.82/5, the lowest of the six features, so I cut it from V1.
64.7% gave it a perfect 5/5. I treated privacy as a requirement rather than an optional feature, and built the app to store everything on the device, with no cloud uploads and no servers. The data stays private because it never leaves the phone.
Of the four pricing options I offered, monthly subscription got zero votes. Free trial first led at 10 votes, and one-time purchase came second at 4. LifeFlow runs fully offline with no recurring server cost, so a one-time purchase covers the app without ongoing fees.
Three design decisions involved a clear trade-off. For each one, I list what it gave up and what I chose.
The conflict: Storing data only on the device means users can't log in from a web browser, can't sync to a second phone, and can't recover anything if the device is lost.
The choice: I went fully offline. I gave up web access and multi-device sync so the data stays on the device. For a personal diary, I prioritized keeping the entries off any server over cross-device access.
The conflict: Daily streaks, badges, and social sharing are the standard playbook for keeping people in the app. Removing them costs measurable engagement.
The choice: I removed all of it. The app shows patterns in the user's own data instead of using streaks or badges to drive return visits. Its purpose is to help the user review their behavior, not to maximize time in the app.
The conflict: Tasks are in Calendar, sleep and steps are in Apple Health, and stress and mood aren't recorded anywhere. Nothing connects all three. On top of that, Apple Health counts some data twice between the Watch and the iPhone, so it has to be cleaned up.
The choice: I built one layer that pulls all three sources together, removes the duplicates, and fills in the missing piece through a 60-second evening check-in. Sleep, work, and mood then appear together in one place.
The app runs on the phone and gathers the day's numbers in the background. It asks the user only for the evening reflection. By the time you open LifeFlow at 10pm, most of the data entry is already done.
Native dark mode (#000000 background, #1C1C1E panels) to reduce eye strain. A 6-month heatmap replaces the usual streak counter and shows activity over time. Below it, four metric cards (Work Time, Tasks Today, Sleep, Steps) fill in automatically from HealthKit. A single neon-green accent color highlights the active state; the rest of the screen is neutral.

Most trackers show each metric separately. The Trends page places sleep, work, and activity together so they can be compared. A segmented control switches between Daily, Weekly, Monthly, and 6-month views, and each data set uses a chart type suited to it. Putting the metrics on one screen lets the user compare them directly, for example sleep against the next day's work hours.

The Evening Entry flow breaks logging into seven small steps. The early steps are low-effort taps: confirming a pre-filled location, checking off what got done, and setting a mood on a slider. The open-ended writing comes last, after the quicker steps are complete.

Many habit trackers run on a subscription that funds servers and data collection. LifeFlow has neither, so that model does not apply. When I asked the 17 respondents which pricing model they'd accept, monthly subscription got zero votes. It was the only option that got none.
Because LifeFlow runs entirely on the device, there are no servers to pay for and no data pipeline or analytics to run. The pricing is a one-time purchase with an optional free trial first, which was the most common preference in the survey. The user owns the app, the data stays on the phone, and the app collects no information beyond what it stores locally.
The trade-off. The pricing model affects how the app is built. A subscription requires servers and ongoing features to justify the recurring charge. A one-time purchase removes that requirement, which is consistent with keeping the app fully on-device.
LifeFlow is a working iOS prototype, not a static Figma mockup. It reads real HealthKit data on the device, so I could test the design against real sleep, steps, and work hours instead of placeholder numbers. I specified every screen, layout, and data binding, and the Swift code was AI-assisted.

Like my other shipped work, I made every design decision myself, and AI handled the code so I could test the design as a live app.
The path from here to the App Store has three concrete phases.
The main takeaway from this project: the offline constraint shaped the design. Because there was no cloud sync, each screen had to work using only the data already on the phone, which made the screen organization a more deliberate decision than it would have been with sync available.