Why we built Sunday at seven, not streaks
A founder note. The two months we spent considering streaks, the week we decided against them, and what we settled on instead. Mostly the second part.
For most of two months we were going to put a streak in.
The internal mockups had it. There was a small gold counter at the top of the home screen — Day 14, Day 41, Day 102 — exactly where you'd expect it. The counter ticked up when you logged. It reset when you didn't. It looked clean, the way every modern habit app's looks clean.
The week we decided to remove it was the week we wrote out, on paper, what each Precog user would actually feel in the first six months. We sat with it. Then we stopped writing.
The streak was solving a different problem than the one we were trying to solve.
What the streak was for
Streaks work for one specific shape of behavior change: when the user needs an external pressure to cross the activation threshold daily, and when daily is the right unit. Brushing teeth. Taking medication. Pages of a book. Reps of a Duolingo lesson. The streak is the loss-aversion engine that pushes a wobbly user across the day's smallest line.
It works. We weren't convinced by ideology. We were convinced by data — habit apps with streaks retain better at 30 and 60 days than habit apps without them, on the cohorts that don't churn.
The phrase "on the cohorts that don't churn" is what eventually made us remove the counter.
What the streak was doing to the user
The cohorts that don't churn at month 6 are the cohorts who, by month 6, are no longer learning what the app was meant to teach them. They are protecting a number. We've all done it. You open Duolingo on a Tuesday at 11:48 PM after a long day, you tap through a lesson you already know, you save the streak, you've learned nothing. The behavior is performed; the underlying objective is gone.
For Spanish lessons, this is annoying but recoverable. The user is still touching the app every day; they can always come back to actual learning when the load lifts.
For sleep, exercise, and hydration — the things Precog is about — streaks fail in a different way. These behaviors don't reward daily perfection. They reward weekly aggregates. A user who slept seven hours every night for four weeks is not measurably better off than a user who averaged 7.4 hours over the same four weeks with one rough Tuesday. The body responds to the average. The streak punishes the deviation.
So we'd be teaching the user to perform daily perfection on behaviors that don't need it, and breaking them on the days when life produces deviations the body doesn't actually mind.
That's the moment we removed the counter.
What we put in instead
The honest sequence: we tried weekly streaks. Week 14. We tried monthly counts. We tried percentage-of-target visualizations.
None of them survived contact with the question, "What does the user actually wait for?"
A user who wakes up on Tuesday and opens Precog should be doing one thing: logging quickly. The app shouldn't be a small daily ritual. The body's logging is once-a-tap, three or four taps a day if everything is enabled, and then closed.
What the user waits for is something else. The portrait. The Sunday viewing. The thing the week is being collected toward.
So that's what we built around.
The home screen has no streak. The home screen has the week's three slots and a sealed card with a countdown to Sunday at 7 PM. The user logs across the week. On Saturday at 7 PM, a Live Activity starts a 24-hour countdown in the Dynamic Island. On Sunday at 7 PM, the portrait arrives.
That arrival, once a week, is what people wait for. The waiting is the engine. Not the loss aversion of a number; the anticipation of an image.
Why Sunday
Sunday is between weeks. Saturday is the end of the work week's recovery; Monday is the start of the next week. The window between is the only honest viewing position. Looking at your week on Wednesday is too inside it. Looking at it on Saturday is too soon — Saturday is still inside the week. Looking on Monday is too late — by then the next week has begun and any insight is theoretical.
Sunday at 7 PM is dinner-after, work-before. The phone is in your hand. You are not in a rush. The week has ended; the next is beginning. It is the only honest moment to sit with what was just drawn.
Why seven
Earlier than seven, the day's energy is still in the room. Later than seven, the wind-down has begun and the user is tired. Seven is the calm spot. We tested 6, 6:30, 7, 7:30, and 8 with internal users and the answer kept being seven, mostly for boring reasons (post-dinner, pre-evening-routine, no-rush).
The number is not magic. The cadence is the point. The cadence happens to land on Sunday at seven.
What we hope it does over a year
A streak teaches: I am the kind of person who does this every day.
Sunday at seven teaches: I am the kind of person who looks at what my week did, and adjusts the next one.
The first identity is brittle. One missed day breaks it. The second is durable — there is no perfection to break. There is only "did I look this Sunday." Most weeks, yes. Some weeks, no. Both are fine. The user keeps going.
Over a year, the second identity compounds in ways the first doesn't. By month 12, the streak app's user has either quit (broke the streak) or is performing the streak (no longer learning). By month 12, the Sunday-at-seven user has either gently quit (no shame, no judgment, can return whenever) or has 52 portraits in their gallery and a slow, accurate intuition for what the week's behavior produces.
We are betting on the second outcome. We don't know yet whether enough users will pick up the cadence. We don't know whether our portraits are vivid enough to make the Sunday viewing genuinely worth waiting for. We are running the experiment in slow motion.
A small thing about the founder
I (Hyojin, writing this) was a streak user for about three years across various apps. Duolingo at 412 days. RescueTime daily reports for 18 months. Strava with the weekly green-bar at 36 weeks. All of them ended the same way — life produced a flu, a trip, a hard week, a deadline, and the streak broke. After the break, the app went silent for a few weeks, then I uninstalled it.
Building Precog without a streak felt like building something that left out the obvious feature. Watching internal testers actually use the no-streak version, indefinitely, with no sense of failure on weak weeks, was when I started to believe the choice was right.
You'll know within ten or twelve weeks of using Precog whether the cadence has caught for you. If it does, the rest is just letting the years run.
— Hyojin, Codeful
