---
title: "Habit tracker + dashboards"
description: "Quantified daily habits, surfaced as heatmaps and trends."
source: "Obsidian Academy"
source_url: https://obsidian-academy.pages.dev/bonus/07-habit-tracker/
saved: 2026-05-16
tags: [obsidian-academy, saved-from-web, bonus]
---

**TL;DR** — Annotate habits in your daily note with inline Dataview metadata. Build a single dashboard note that shows streaks, heatmaps, and per-habit trends. Your habit data becomes a second-brain metric, viewable alongside notes and goals.

## The capture layer

In your daily note, add a habits section the template generates:

```md
## Habits

- exercise:: true
- meditation:: 10
- writing:: 500
- alcohol:: false
- sleep_hours:: 7.5
```

The `::` is Dataview's inline metadata syntax. Each line becomes a queryable field on this day's note.

Be honest. Tracking dishonest data is worse than tracking nothing.

## The dashboard

Create `30-Areas/health/habits-dashboard.md`:

````md
# Habits dashboard

## Exercise — last 30 days

```dataview
CALENDAR file.day
FROM "10-Daily"
WHERE exercise = true AND date(file.day) >= date(today) - dur(30 days)
```

## Writing words this week

```dataview
TABLE writing AS "Words", file.day AS "Day"
FROM "10-Daily"
WHERE writing AND date(file.day) >= date(today) - dur(7 days)
SORT file.day DESC
```

## Streak: meditation

```dataview
LIST file.day AS "Day"
FROM "10-Daily"
WHERE meditation > 0
SORT file.day DESC
LIMIT 7
```
````

Pin this note to your sidebar. Open weekly during your review.

## Tracker plugin (advanced)

The community plugin **Tracker** gives you proper line/bar charts. Install if you want visual graphs beyond Dataview's tables.

Example chart:

````md
```tracker
searchType: dvField
searchTarget: sleep_hours
folder: 10-Daily
startDate: -30d
endDate: today
line:
  title: Sleep hours, last 30 days
  yAxisLabel: Hours
  lineColor: "#7c5cff"
```
````

## How Claude Code fits in

- **Daily Driver** can prompt you to log habits if today's note doesn't have them yet ("you skipped habits yesterday — track them now?")
- **Weekly Review** can pull habit stats automatically: "Exercise: 5/7 days. Writing: 3200 words. Sleep avg: 7.1h."
- A new skill **`habit-correlate`** could find correlations: "On weeks you exercised 5+ times, your mood scores averaged 8.2. On weeks you exercised fewer than 3 times, 6.4."

## Make it lightweight

Don't track 15 habits. Track 3–5 you actually care about, for 90 days, before deciding what to do next. Over-instrumented systems get abandoned. Under-instrumented systems teach you the truth.

## Sources

- [The Complete Guide to Habit Tracking in Obsidian](https://gethabitspace.com/blog/complete-guide-habit-tracking-obsidian)
- [Tracker plugin](https://github.com/pyrochlore/obsidian-tracker)

## Related workflows

- **[Daily Driver](https://obsidian-academy.pages.dev/workflows/01-daily-driver/)** — The capture layer
- **[Weekly Review](https://obsidian-academy.pages.dev/workflows/06-weekly-review/)** — Where the data becomes insight
- **[Visual Journal](https://obsidian-academy.pages.dev/workflows/08-visual-journal/)** — The qualitative twin to quantitative tracking
