Local habit tracker

Manually mark your own target dates. Unrecorded and outside-target dates are separate; no inferred success. Routine≤100 · Target dates/Marked dates≤366

  • Runs in your browser
  • No upload
  • Check before download

Names, notes and plans stay in this browser. No account, calendar connection or sending. Save only when you explicitly choose it.

Manually mark your own target dates. Unrecorded and outside-target dates are separate; no inferred success. Routine≤100 · Target dates/Marked dates≤366

Questions

Limits:100rows (rosters64/50 as shown),256KiB backup,30,000text units,100,000search visits,20second worker deadline,40PDF pages/8MiB. PDF uses local Liberation Sans with actual glyph checks; no RTL/complex shaping. Unsupported print text remains in the backup. Removing a row removes its linked assignments; editing/reordering preserves positional identities. Roster/draw changes clear tournament results. Roster/reference names must be unique for generation; incomplete drafts may repeat them.

Device storage is unencrypted and may be cleared or seen by other users of this browser. Keep a portable backup. Load/Clear never contacts a service.

Liberation Sans · SIL OFL1.1@libpdf/core · MIT
Routine (1/100)
Target dates (3/366)
Marked dates (1/366)
Save on this device

Device storage is unencrypted and may be cleared or seen by other users of this browser. Keep a portable backup. Load/Clear never contacts a service.

How to use

  1. Add

    Add routines with explicit target dates, and mark only the dates you have actually recorded.

  2. Create plan

    Try this concrete example: targets[Nov2,Nov3,Nov4],marked[Nov2] → target3,completed1,unrecorded2

  3. Export backup

    Review marks that fall outside the target dates separately. A target date with no record is not automatically a failed habit.

Questions

Are target dates generated from a recurrence?

No. You supply the actual target dates, and the summary counts where they overlap with your manual marks.

What should I correct before generating?

Use real, unique ISO dates. Duplicate dates within either list are rejected.

What does this output not establish?

No reminders, inferred streaks, health assessment or account history across devices.

Local PDF sheets use @libpdf/core0.5.1 (MIT) and Liberation Sans. Copyright notice and original license · Original Liberation font license (SIL OFL1.1)