Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Streakwise

Roger ChangRoger Chang3 downloads

A habit heatmap and streak tracker for your daily notes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates2

Turn the habit properties already in your daily notes, like exercise: 30 min or reading: true, into a GitHub-style yearly heatmap with your current and longest streak, with no new note format to learn.

For anyone who tracks habits in daily notes and wants a visual check without adding a separate app. Free, offline, no account.

Yearly heatmap of an exercise habit with current and longest streak

Typing "exercise: 45 min" in today's daily note adds a cell to the heatmap

Features

  • Yearly heatmap of one habit per block, with current streak, longest streak and days done.
  • Several blocks in one note, each with its own habit and colours.
  • Follows your theme: the default "Accent" colours use your theme's accent colour; 4 fixed palettes (green, blue, purple, orange) are also available. Higher values get darker in light themes and brighter in dark themes, so levels can be read by lightness, not hue alone.
  • Works in narrow panes: the grid scrolls to today, and the title and streak line wrap.
  • Fully offline: no account, no network.

Planned for Streakwise Pro: month, week, quarter and year-to-date views; several habits in one block; PNG export.

Three free heatmap blocks in one note

Usage

Add exercise: true, reading: 30 min, meditate: yes (any property name) to daily notes, then:

```streakwise
habits: exercise
view: year
```
Option Values Default
habits one frontmatter property (case-insensitive); several, comma-separated: Pro, planned default habit from settings
view year (ytd, quarter, month, week: Pro, planned) year
date / year YYYY-MM-DD / YYYY, which year to show today
colors accent, green, blue, purple, orange from settings (accent)
max value shown in the darkest colour largest value in range
title any text none
weekstart monday, sunday from settings

Values:

  • true/yes/done/x/✅ = done; false/no/skip or empty = not done.
  • Numbers are amounts, also with units (30 min, 1.5h). Zero or negative numbers (-5) count as not done.
  • Comma: a comma followed by exactly three digits is a thousands separator (1,000 = 1000, 12,500 steps = 12500); any other comma is a decimal comma (1,5 = 1.5, 1,50 = 1.5, 1,0000 = 1). To avoid ambiguity, write decimals with a dot (1.50).
  • A missing daily note or property is shown faded as "no entry".

Where daily notes are found: Streakwise follows the folder and date format of the Periodic Notes plugin (daily notes) if enabled, otherwise the core Daily notes plugin, otherwise the folder/format in Streakwise settings. You can force the custom location in settings.

Only notes inside the daily-notes folder or its subfolders are counted. A note matches if its path relative to that folder (for formats like YYYY/MM/YYYY-MM-DD) or its file name (for notes archived in subfolders, e.g. Daily/2026/2026-10-17.md) matches the date format. Notes outside the folder (e.g. Archive/2026-10-17.md when the folder is Daily) are ignored. If no daily notes are found, the note shows one hint card with the folder and format it looked for and a button that opens Streakwise settings. If two notes still map to the same day (e.g. format YYYY-M-D with both 2026-10-7.md and 2026-10-07.md), the one with the shortest path is used (ties: alphabetical), and blocks whose date range includes that day show which note was ignored.

The command Insert heatmap block adds a starter block.

Network use disclosure

  • Streakwise makes no network requests. All heatmap and streak features run locally.
  • Nothing from your vault is sent anywhere. No telemetry, analytics or ads.

Data storage

  • Settings are stored in .obsidian/plugins/streakwise/data.json in your vault.
  • No files outside your vault are read or written.

Known limits

  • Only frontmatter properties are read (not task checkboxes in the note body).

Development

The free build makes no network requests: the license code for the planned Pro version is removed from main.js at build time (FREE_BUILD=true), and npm test checks the bundle for it.

npm install
npm run build   # type-check + bundle to main.js
npm test        # unit tests (dates, values, streaks, settings validation, colour contrast) + a check that the
                # shipped free bundle (FREE_BUILD=true) contains no license or network code
npm run lint

Support

Bugs and questions: open an issue at https://github.com/smallbench-labs/streakwise/issues. Other questions: [email protected].

Clean-room statement

Written from scratch; see REVIEW_NOTES.md.

License

MIT © 2026 Smallbench Labs (Roger Chang) (see LICENSE).

HealthExcellent
ReviewSatisfactory
About
Turn habit properties in daily notes into a GitHub-style yearly heatmap showing days done, current streak and longest streak. Create multiple blocks per note with per-habit colours that follow your theme, read boolean and numeric values from your notes, and work fully offline.
VisualizationPropertiesDates
Details
Current version
0.1.1
Last updated
7 hours ago
Created
9 hours ago
Updates
2 releases
Downloads
3
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Roger ChangRoger Changroger85213
GitHubroger85213
  1. Community
  2. Plugins
  3. Visualization
  4. Streakwise

Related plugins

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Update modified date

Automatically update a frontmatter modified date field when the file is modified.

Itinerary

Make planning your trip or event easier by rendering a calendar from event information found in your notes.

Yearly Glance

Year at a glance - overview of annual events with customizable management options.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

ExcaliBrain

An interactive, structured mind-map of your Obsidian vault.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Tasks

Track tasks across your vault. Supports due dates, recurring tasks, done dates, sub-set of checklist items, and filtering. Maintained by Clare Macrae and Ilyas Landikov, created by Martin Schenck.