W-020 · WIDGET

Streak

The Streak widget tracks any daily habit — drink water, read 10 minutes, work out, journal — with two visual modes. Grid shows the whole month with completed days highlighted (great for habits where you want to see consistency at a glance); Card shows the habit name + streak count + a one-tap check button (great for the daily ritual itself). Local-first storage; multiple Streak widgets can track different habits independently.

NotionObsidianAny website
HostStored in browser localStorage — clearing site data clears the streak
HostTap a day in Grid to toggle done; tap the check button in Card to mark today
https://widgetcraft.ai/w/streak?theme=light&accent=%23F06449&layout=grid&habit=Water+Streak
Customize in Builder

Streak is the smallest possible habit-tracker — no signup, no notifications, no gamification beyond the streak number itself. Pick a habit name (Read 10 Mins, Drink Water, Workout, Journal, Meditate), pick an icon emoji, and tap the check each day. The Grid layout renders a 7-column month view where tapped days fill with the accent color; the Card layout shows the habit + streak count + a single check button for the daily action. Storage is browser-local under a configurable group key, so you can track 'water' and 'reading' as separate Streak widgets without their states colliding. Streak count = consecutive days marked done ending today, broken by any missed day.

HOW TO USE

How to add a Streak widget to your page

  1. Drop Streak on your canvas

    In the Studio left rail, click Streak. The LayoutPicker opens with two thumbnails: Grid (month calendar) and Card (icon + check).

  2. Pick Grid for at-a-glance consistency

    Grid shows the whole month and lets you see how many days you've stayed on the habit. Best for visual people who want to track patterns over time.

  3. Pick Card for the daily ritual

    Card shows just the habit name + streak count + check button. Best for habits you want to mark each morning/evening — minimal interaction, single tap.

  4. Set the habit name + group

    In the inspector, set 'habit' to whatever you're tracking ('Read 10 Mins', 'Drink Water'). Set 'group' to a unique key per habit so multiple Streak widgets stay independent. Set 'icon' to an emoji that matches.

FAQ

Questions, answered.

How is the streak count computed?

Streak = number of consecutive days marked done ending today. If you miss a day, the streak resets when you next mark today done — the count starts over at 1. Days marked retroactively count for the grid view but not the running streak.

Can I track multiple habits?

Yes. Drop a separate Streak widget for each habit and set a different `group` for each (the storage key). The default group is just 'default' — change it to 'water', 'reading', etc. to keep streaks independent.

Where is my streak data stored?

In the browser's localStorage. There's no signup or backend. Heads up: clearing site data, switching browsers, or going incognito loses the streak.

Can I see streaks longer than this month?

Not in the Grid view yet — it only renders the current month. The Card view's streak count includes the full history (any consecutive run ending today), regardless of month.

Does it remind me?

No. The widget is purely passive — it tracks what you tap. Notifications would require a backend with push permissions, which doesn't fit Mizu's local-first model. For reminders, pair with a calendar tool.

Can I undo a tap?

Yes — tap the same day again to toggle it back to undone. Same for the Card check button.

Related widgets

W-007 · inspiration
Quotes
Rotating daily quotes in three styles — card, minimal, or large display.
W-016 · inspiration
Notes
Markdown notes with paper textures — kraft journal, yellow sticky, aged parchment, ruled notebook, or graph-paper grid. Perfect for brewing logs, recipe cards, observations.
W-019 · inspiration
Tasks
Local-first checklist — daily todos, packing lists, brewing checkpoints. Tap to mark done; persists in localStorage. Notion / Todoist sync ships with Sora.
Customize colors, fonts, and layout in the builder — preview live, copy the embed URL, paste anywhere.
Open in BuilderView all widgets