Notion Tutorial: Build a Habit Tracker in 5 Steps

Written by

in

TL;DR: You can build a functional habit tracker in Notion by creating a database with property types for daily checkboxes, streaks, and notes, then grouping views by week or month. This guide walks you through the five core steps—database setup, property configuration, view creation, formula for streaks, and dashboard layout—so you can start tracking today.

Step 1: Create the Master Database

Open a new Notion page (or an existing one) and type /database — select “Table – Inline.” Name it “Habits.” Delete the default “Tags” column. This will be your single source of truth for every habit and every day. Keep it as a table for now; you’ll add different views later. Tip: Use a separate page inside your dashboard if you want to keep the raw table hidden.

If you want to dig deeper, check out our guide on Powering the Future: How DePIN Transforms Energy Infrastruct.

Step 2: Configure Properties (Columns)

Your table needs these properties: Habit (Title, e.g., “Drink water”), Date (Date type, set to “Include time” = off), Done (Checkbox), and Notes (Text). Add a Week property as a Formula: formatDate(prop("Date"), "YYYY-WW") — this groups weeks automatically. Tip: For daily habits, create one row per habit per day. For weekly habits, just mark the date you did it.

Step 3: Build a “Daily Log” View

Click the “+” next to the table’s tab name, then “Table view.” Name it “Daily.” Group by Date (ascending). Filter: Date is on or after today minus 7 days. Sort by Date descending. Now, each morning, check off “Done” for each habit. Tip: Use the “Done” property’s checkbox in the table cell—no need to open each page.

Step 4: Add a Streak Formula

Streaks require a rollup or a formula. The simplest method: create a Formula property called “Streak” with this code (assuming your Date property is “Date” and Done is a checkbox):
if(prop("Done"), 1, 0) — but that only counts today. For a true streak, you need a relation to a “Days” database. Instead, use a simpler hack: create a Number property called “Current Streak” and update it manually when you complete the habit. Tip: For automation, use Notion’s “Button” property (if available) to increment a count. But for most users, a manual number is fine—just update it at week’s end.

Step 5: Assemble Your Dashboard

Create a new page titled “Habit Dashboard.” Add a “Gallery view” of your Habits database, filtered to show only today’s date. Then add a “Calendar view” (by Date) to see your month at a glance. Finally, add a “Board view” grouped by Done (true/false) to see what’s pending. Tip: Use Notion’s “Synced block” to embed a summary formula (e.g., “Completion %” as a rollup of Done checkboxes divided by total days).

FAQ

Q: Can I track multiple habits on the same day without creating many rows?
A: Yes—create one row per habit per day, but use a “Multi-select” property for habit names if you prefer a single row per day. However, checkboxes work best per habit, so the row-per-habit method is recommended for accuracy.

Q: How do I make the streak automatic

Related Articles

Comments

2 responses to “Notion Tutorial: Build a Habit Tracker in 5 Steps”

  1. […] If you want to dig deeper, check out our guide on Notion Tutorial: Build a Habit Tracker in 5 Steps. […]

  2. […] If you want to dig deeper, check out our guide on Notion Tutorial: Build a Habit Tracker in 5 Steps. […]

Leave a Reply

Your email address will not be published. Required fields are marked *