A streak is the cheapest motivation there is, and the easiest to get wrong. A number that says 'six days' is fragile: miss one day and it is zero. So Cadence also draws the last twenty weeks as a grid, seven rows by twenty columns, one square for each day, darker when more was done.
The grid is honest about bad weeks. A gap is a gap. The streak counts consecutive days, but the heatmap never resets, so a person who missed a week can see that they trained on most days of the last twenty and is not told they are back to zero. That one change turns the screen from a scoreboard into a record.
In code it is a plain grid of boxes and not a chart library. A few shades of one colour, a legend with the same shades, and a month label where a column begins one. It is aligned to the weekday the user's calendar starts on, a small detail that is easy to get wrong. A heatmap that starts on the wrong day looks like somebody else's year.