PaceStreak held back the browser's install prompt and then hardly ever offered its own. Now it asks on the first visit, on a later day and after the first session, once each, and Settings still works any time.
A command palette, G-then-a-letter shortcuts, swipe and long-press on habits, pull to refresh, and why each one is a shortcut on top of a button rather than the only way in.
PaceStreak stores weight and tape measurements the same way it stores anything else you choose to log: privately, for your own use, and completely disconnected from the streak, the XP or anything that ranks you against another person.
A daily streak has no concept of a planned day off: every rest day looks identical to a missed one. Counting weeks against a target you set yourself is what lets rest be a decision instead of a risk.
A freeze protects a bad week from ending a streak you've kept for months. It has to come from consistency, not a purchase, or it stops meaning anything about the person holding it.
Every badge in PaceStreak rewards showing up against your own target, never a spotless week. A streak that only survives perfection teaches you to stop the moment it isn't perfect anymore.
A small bar row and a keep-rate percentage on every habit's detail page - kept in lime, missed in flame, because the week strip and calendar markers already meant that, and a new chart is the wrong place to invent a third colour convention.
Habits already had a category and a colour. The one thing Today's week board didn't do with that was use it to group the rows - and it still doesn't, for the common case of one category, on purpose.
The home screen used to be a stack of coach cards. It now opens on a tear-off date and this week as a board you can cross off, because the first question anyone has is 'what's left today?'
Fixing the same-size card grids made the site more correct and no less forgettable. The actual complaint was about the whole page, not a pattern - which meant the fix had to be a hero, motion and rhythm pass, not another round of component surgery.
'How it works' and 'Principles' were both an icon-heading-text grid, identically sized, in the exact way any landing page's craft floor flags as the default nobody actually chose. Replaced with two compositions that carry real information in their shape.
The redesign needed eleven new social images, from a 600px email header to 2560px channel art. They're drawn by one Python script from the site's own font, and the first run came out in the wrong weight entirely.
The signature interaction of the redesign is a hand-drawn X that draws itself when you tick a day. It's two SVG paths, one CSS keyframe and a pathLength trick, with no JavaScript animation at all.
The old look was near-black with a lime accent: a fitness app that looked like every fitness app. The new one is a printed wall calendar you cross off in marker, because that's what the product actually is.
Every habit has a weekly streak and a strength score. The first version of strength was a rolling daily average that punished the start of every week. It's now a slow average over weeks.
How PaceStreak's XP, levels, personal records, achievements and leaderboards are built so that two people of very different strength earn exactly the same for the same week.
A daily streak punishes rest. The streak engine counts kept weeks against a target you set, forgives bad weeks with earned freezes and a monthly repair, and stores nothing that can drift.