You start going to the gym three times a week, and your habit tracker app shows a broken streak every day you rest.
After a week of red marks for days you never planned to train, the streak stops meaning anything.
This sample blueprint is a personal habit tracker where each habit has its own goal, either every day or a number of times per week, and streaks and completion rate are measured against that goal.
Who this is for
- Fitness beginners who train a few times a week, not every day
- People who want to define their own habits instead of picking from a preset list
- Anyone who forgets to tap in on a busy day and wants to fill it in later without faking the record
- People who track habits in a notes app or spreadsheet and want streaks calculated for them
Sample blueprint, read-only. Open it with no sign-in. Select "Build this app with IdeaMade" at the bottom to open it in the blueprint editor, where you can change it and continue.
Building the app requires signing in.
The sample is a single-user habit tracker for one signed-in person, the habit owner.
Habits and check-ins are saved in the cloud under that person's own account, and only they can see them.
It has four pages:
- Sign in: so your habits and check-ins load from your own account
- Today: your active habits with a check-in button for today, showing which are already done, and a pointer to the Habits page when you have none yet
- Habits: where you create, edit and archive habits and set each habit's goal
- Habit detail: one habit's streak, completion rate and calendar of check-ins, with a way to backfill a past date
A habit has a name, a goal type (every day or N times per week) and a weekly target when the goal is weekly.
A check-in belongs to one habit and one date, and is marked when it is a backfill.

Sample data.
Most habit tracking goes wrong in the same few ways.
A double tap counts one workout twice.
A late-night check-in lands on the wrong day.
A forgotten day is filled in later, and nobody can tell it apart from a real-time check-in.
A weekly habit is judged as if it were daily, so the streak breaks on every rest day.
The rules below keep every number tied to what you actually did.
Example scenario: a fitness beginner adds "Gym" with a goal of 3 times per week and "Drink water" with a goal of every day. On Monday they check in both from Today. On Wednesday they open Gym's detail page and backfill Tuesday's session, which shows on the calendar as a backfill. Gym's streak grows by one for each week that reaches three check-ins.
Here is how the app is set up.
One check-in per habit per day.
Each habit can be checked in only once for a given day.
A second check-in for the same habit and the same day is rejected.
That prevents a double tap or a repeat entry from inflating a streak or completion rate.
Days follow your own local date.
The date of a check-in is taken from your browser when you check in, and stored with the check-in.
Day boundaries follow your own timezone.
That prevents a late-evening check-in from landing on the wrong day.
Future dates are blocked.
You cannot check in for a date that has not happened yet.
That prevents ticking off tomorrow in advance to protect a streak.
Past-date check-ins are marked as backfill.
If you missed a day, you can add a check-in for a past date from the habit detail page.
That check-in is clearly marked as a backfill, and it appears that way on the habit's calendar.
Your stats update, but the record still shows which entries were added later.
Each habit has its own goal: every day or N times per week.
When you create a habit, you choose its goal type and, for a weekly goal, set the weekly target.
Streak and completion rate are computed against that goal.
That prevents a three-times-a-week habit from being judged as a daily one.
Streaks count days or weeks, depending on the goal.
For an every-day habit, the streak counts consecutive days with a check-in.
For an N-times-per-week habit, the streak counts consecutive weeks that met the weekly target.
This was a confirmed product decision in the sample.
A rest day inside a week that still reaches its target does not break a weekly streak.
Changing a goal does not rewrite the past.
If you change a habit from every day to 3 times per week, past periods are still evaluated against the goal in effect at the time.
Only future periods use the new goal.
That prevents an easier goal from quietly turning old misses into hits, or a harder one from erasing past success.
Archiving hides a habit but keeps its history.
Archiving a habit removes it from Today and stops new check-ins.
Its detail page, streak, completion rate and past check-ins stay viewable.
That lets you retire a habit without losing the record of what you did.
How do streaks work for habits that are not daily?
For a habit with a goal of N times per week, the streak counts consecutive weeks that met the weekly target.
In this sample, a gym habit set to 3 times per week keeps its streak through rest days, as long as each week reaches three check-ins.
Every-day habits count consecutive days with a check-in instead, so each habit is measured against its own goal.
Can I log a habit for a day I missed?
Yes, for a past date, but it is marked as a backfill.
In this sample, you open the habit's detail page, pick the past date and add a check-in.
The entry appears on the habit's calendar as a backfill, and streak and completion rate update.
Future dates are blocked, so you cannot check in ahead of time to protect a streak.
What happens to my history if I stop tracking a habit?
Archive the habit, and its history stays.
In this sample, archiving removes the habit from Today and stops new check-ins.
The habit's detail page still shows its streak, completion rate and calendar of past check-ins, including backfills.
That means retiring an old habit never deletes the record of what you already did.
Can I build my own habit tracker without coding?
Yes, for a personal habit tracker.
With IdeaMade, you describe your habits, goals, check-in rules and the pages you want in plain language.
IdeaMade turns that into a blueprint you can review and change before anything is built.
Then you build the app, preview it with test data, and check how streaks behave before you rely on it.
Copy this prompt, change the parts in brackets, and paste it into the blueprint generator:
Build a personal habit tracker for [one person getting into fitness]. Single user, data saved in the cloud for the signed-in person only. Each habit has a name and a goal of every day or [N] times per week. Pages: Sign in, Today (active habits with a check-in button for today), Habits (create, edit, archive habits and set goals), and Habit detail (streak, completion rate and a calendar of check-ins). A habit can be checked in only once per day, using the person's local date. Future dates are blocked; past-date check-ins are allowed but marked as backfill. Every-day habits count consecutive days; weekly habits count consecutive weeks that meet the target. Archiving hides a habit from Today but keeps its history. Do not add [reminders, notifications or social features].
