A habit tracker in Obsidian.
Tick a few boxes in your daily note, and one Base shows your week: what you did each day, and how many times you did each habit. No plugins, and a missed day doesn’t reset anything.
What you’ll build
A habit tracker only needs two things: somewhere quick to tick, and somewhere to see the week. In Obsidian that’s:
- Five habit checkboxes in your daily note (swap in your own).
- A Habits base with one row per day for the last 7 days, how many habits you did that day, and a count under each habit.
- A 30-day view for the bigger picture.
- One line on your Home page that shows the week.
It’s how the habits in our Life OS vault work. There are no streaks: a missed day is just a missed day, and the next one counts the same. You need Obsidian 1.9 or later with the Bases and Daily notes core plugins on. Everything below was tested in Obsidian 1.14 with no community plugins.
Step 1: Habit checkboxes in your daily note
In Settings → Daily notes, set the new file location to Daily and the template to Templates/Daily note. Then make that template:
---
type: day
day: "{{date}}"
energy:
walk: false
outside: false
read: false
water: false
bed_on_time: false
---
## Top 3
- [ ]
- [ ]
- [ ]
## Notesdaystores the date.{{date}}is filled in when the daily note is made, so the date is right even if you rename the note.energyis a number from 1 to 5, if you want to see how your energy and your habits move together. Leave it empty when you don’t.- The habits are checkboxes. Keep each one small enough to do on a bad day: “walk 10 minutes”, not “exercise”.
Open today’s note from the calendar icon in the left ribbon, or with the command Daily notes: Open today’s daily note, and tick as you go.
Step 2: The Habits base
Make a file called Habits.base next to your notes and paste this in:
filters:
and:
- type == "day"
- '!file.inFolder("Templates")'
formulas:
done: if(walk, 1, 0) + if(outside, 1, 0) + if(read, 1, 0) + if(water, 1, 0) + if(bed_on_time, 1, 0)
properties:
file.name:
displayName: Day
formula.done:
displayName: Done (of 5)
note.bed_on_time:
displayName: In bed on time
views:
- type: table
name: Last 7 days
filters:
and:
- if(day, (today() - date(day)).days.round(0) <= 6, false)
order:
- file.name
- formula.done
- energy
- walk
- outside
- read
- water
- bed_on_time
sort:
- property: day
direction: DESC
summaries:
energy: Average
walk: Checked
outside: Checked
read: Checked
water: Checked
bed_on_time: Checked- The
doneformula adds 1 for each ticked habit, so each day shows something like 3. - The filter keeps the last 7 days.
.round(0)stops a daylight-saving change from turning 6 days into 6.04 and dropping a day. Checkedunder a checkbox column counts the ticks, so you see “walk: 5” for the week.Averagedoes the same for energy.
Step 3: A 30-day view
Add a second view under views: in the same file:
- type: table
name: Last 30 days
filters:
and:
- if(day, (today() - date(day)).days.round(0) <= 29, false)
order:
- file.name
- formula.done
- energy
sort:
- property: day
direction: DESC
summaries:
formula.done: Average
energy: AverageThe average of done over 30 days is a kinder number than a streak: 3.2 out of 5 is a good month, even with a week off in the middle.
Step 4: See the week on your Home page
Embed the 7-day view in any note, such as your Home page:
## This week
![[Habits.base#Last 7 days]]If you pin Home in a tab, the week is the first thing you see.
Changing your habits
- To add a habit, add a checkbox to the template, then add it to
orderandsummariesin the base. - To stop tracking one, take it out of the template and the base. Old daily notes keep their ticks.
- To rename one everywhere, use the All properties view in the sidebar: right-click the property, then Rename.
- Three to five habits is plenty. If a habit never gets ticked, make it smaller before you drop it.
Mistakes that cost us time
- Daily notes without a
day. Notes made before the template won’t show up. Adddayby hand, in the 2026-10-12 format. - The template showing up as a day. The
!file.inFolder("Templates")filter fixes it. - Catching up on old days. Leave them. Tick today and move on.
- Ten habits on day one. Start with three, and add one when those feel easy.
Keep going.
How to Build a Simple CRM in Obsidian (No Plugins)
Track clients, follow-ups and invoices with one note per client and a single Base. Copy-paste code, no plugins.
Read the guide Bases recipesObsidian Bases Examples: 10 Copy-Paste Recipes
Ten tested recipes: due this week, days since, late invoices with totals, weighted pipeline, renewals, per-note embeds and the gotchas.
Read the guide Small office ITSmall Office IT Documentation in Obsidian: What to Record
What a small office should write down about its IT, what never to store, and a simple setup in Obsidian.
Read the guide Building with AIA Spec Template for AI Coding Tools (Claude Code, Cursor)
A one-page spec template for Claude Code, Cursor and other AI coding tools, a plan-first prompt, and where Obsidian fits.
Read the guide StudentsObsidian for Students: Track Assignments, Exams and Grades
Assignments with due dates, an overdue list and exam countdowns, plus class pages that list their own work. Copy-paste code, no plugins.
Read the guide Daily planningA Calm Daily Planner in Obsidian: Tasks by Energy and Time
A brain-dump inbox, tasks sorted by energy and minutes, up to three focus tasks, and bills two weeks ahead, on one Today page.
Read the guide Game mastersObsidian for Game Masters: Run a Tabletop RPG Campaign
Session prep in 30 minutes, secrets and clues until they’re revealed, NPCs listed on their places, and faction clocks. Any system.
Read the guide Real estate agentsReal Estate CRM in Obsidian: Follow-ups and Contract Deadlines
Follow-ups due, past clients to check on, and every contract deadline in the next seven days, in a private vault. No plugins.
Read the guide ReadingA Book Tracker in Obsidian: Reading List, Shelf and Yearly Totals
One note per book: reading now, up next, finished this year with pages and ratings, a shelf board, and author pages. No plugins.
Read the guide MeetingsMeeting Notes in Obsidian: Agenda, Decisions and Action Items
A meeting template with agenda, decisions and next steps, a list of follow-ups still to send, and every open action item on one page.
Read the guide ProjectsA Project Tracker in Obsidian: Board, Deadlines and Health
One note per project, a health column that flags overdue and due-soon work, a board in your column order, and client pages that list their projects.
Read the guide