Streaks counted from the day you started, a grid per habit, and nothing to sign up for.
Most habit trackers are a phone app with a Mac version bolted on, or a Mac app with none, and nearly all of them want a monthly payment for the privilege of counting your own days. Cadence is one native app on both, and habits are one of its four core modules: always in the sidebar, Command 4 away on the Mac, and in the tab bar on the iPhone.
The part that matters is how it counts. Start a habit in March and the completion rate begins in March, rather than dividing your fortnight by a whole year and reporting seven percent for something you have never missed. Every habit shows its current streak, its best, and its rate, with a grid of days behind it that keeps the bad fortnight visible in June.
There is no account to make, because there is no server to keep one on. The app is free on one device, and iCloud sync across your Mac and iPhone is $14.99, paid once, with no subscription behind it.
What you get
Start something in March and it opens at the rate you have kept since March. The window begins when the habit did, so nothing divides your fortnight by a whole year.
Every day, a few times a week, or particular weekdays. A habit you do on Mondays should look fine on Tuesday.
Tick today from the list, or go back into the grid on Thursday when you remember that you did in fact go on Tuesday.
Every day you did it gets a square, and the empty ones stay empty. A rough two weeks in April is still visible in June, which is the useful part.
Yes. Habits, and every other module, are free on one device with no trial and nothing withheld. The only purchase in the app is iCloud sync across devices, $14.99 once.
Yes. A habit can be every day, a number of times a week, or particular weekdays, and a Monday habit looks fine on Tuesday rather than broken.
Go back into the grid and fill it in. A day you did but did not record on the day is still a day you did.
No. Cadence is written for the Mac and the iPhone only, and there is no web version, because there is no server for one to run on.