The week compressed itself into thirty-six hours. Between Wednesday evening and Thursday morning, 30 changes merged across the app and the site. Competitions got a memory, duels got live updates, freeze days got an undo button. Then, for the first time in weeks: three deliberately quiet days.

4
days covered (Jul 23–26)
30
changes merged
1
production deploy
24
backlog items cleared

Sprint map

One row per story arc, one column per day. † marks late-evening work from July 22 that belongs to this week's story.

Product Reliability Under the hood
Jul 22†Jul 23Jul 24Jul 25Jul 26
Weekly habits: instant badge
Rest & freeze days
Competitions: history + top ten
Duels: live updates
Connect & account flows
Sync reliability
Internal tooling & tests
Docs & release

Jul 24–26: no merges at all. The wave was done; the quiet days are real.

Merges per day

17
Jul 22†
13
Jul 23
0
Jul 24
0
Jul 25
0
Jul 26

The arcs

In rough chronological order. † marks the July 22 evening batch.

Product

Weekly habits: instant badge †

Times-per-week habits now light up their badge the moment the weekly quota lands, with a preview state on the way there. Switching a habit to a weekly schedule now seeds the streak correctly, so the badge is honest from day one.

Product

Rest & freeze days: undo + fairer math

Two halves of the same fairness story. A tavern day no longer drags down your completion rate, because daily habits settle no due units on frozen days. An accidental tavern visit is now reversible until midnight with the new same-day undo, straight from the widget.

Product

Competitions: history + top-ten leaderboards

Finished competitions stop vanishing. The competitions tab now keeps a browsable history of past rounds. Leaderboards show the top ten with a Show-all toggle, which keeps large competitions fast and readable.

Product

Duels: live + honest

Duel notifications surface what changed since you last looked, with live updates while a duel is active. An opponent whose sync is paused is now marked in the head-to-head, so a frozen score explains itself.

Product

Connect & account flows

Five small cuts, one smoother path. The post-connect success card now leads with your widget link. A failed widget-link fetch shows an error with a retry. Password reset clears stale sessions and confirms cleanly. A rendering glitch around the Upgrade button on the profile page is gone. The widget took a first pass at small-phone layouts; the embed inside Notion's mobile app still needs polish, so more is on the way there.

Reliability

Sync reliability

The nightly sync engine got more careful. Schedule switches now reset streak counts to the matching unit, so longest-streak stats stay honest. The safety net that catches missed syncs selects its work more precisely and no longer cries wolf.

Under the hood

Internal tooling & tests

A long-planned refactoring batch paid down debt in the mail and competition code. New tests cover feature access and habit comparison. The end-to-end suite gained a second seeded user, which unlocks full duel testing. Newsletter sending and feedback review got quicker internal tools.

Under the hood

Docs & release

A documentation sweep corrected eight drifted passages. The release train carried the whole wave to production the morning after.

Compiled from the week's merge history across the Notion Habit Heroes app and this site, July 23–26, 2026, plus the late evening of July 22. The quiet days are genuine: no merges landed July 24–26.