|
Prefer to read (or listen to) this newsletter in your browser? Click here. A couple of years ago, I built my own habit tracking dashboard in Obsidian. But looking back, that version had a few problems:
So with an assist from Claude, I rebuilt the whole thing using DataviewJS: But you may be wondering: why track habits in Obsidian at all? There are dozens of dedicated habit apps out there. Some of them are genuinely beautiful. Why bother building this thing inside of a note-taking app? The answer is context. š” The Big Idea: A streak can only tell you what happened. Obsidian can tell you why.Most habit tracking apps are built around the ādonāt break the chainā concept popularized by comedian Jerry Seinfeld, who once told an aspiring comic to get a big wall calendar and put a red X on every day he wrote new material. Eventually, youāve got a chain, and your only job then is to not break the chain. But any app can show you a streak and provide motivation to keep going. Hereās what a standalone habit app canāt do: it canāt tell you why you broke the chain. When I look at my habit tracking dashboard in Obsidian, and I see a longer break, I can click on any day in that gap and land directly in my daily note from that day. I can read what I was working on, what was stressing me out, whether I was traveling, and whether I was just tired. The context is all right there, all in the same system. A standalone app can show you the gap. It canāt help you understand it. And understanding the gap is the whole point. If youāre serious about building habits that actually stick, the goal isnāt to hit a streak number. The goal is to do more of what really matters, and that requires you to understand your patterns well enough to improve them. That requires context. And for me, that context already lives in Obsidian. The Real Number to Pay Attention toWhen I sit down for my quarterly review and pull up my habit tracking dashboard, I honestly donāt spend much time looking at my current streaks. The number I care about most is my longest break. A long break isnāt a moral failure. But it is a signal that something is off. Itās telling me one of two things:
Both of those are useful to know. If the longest break in my reading habit is three days, that tells me something very different than if itās three weeks. Three days is a bad week. Three weeks is a pattern. And when I recognize it, I can actually investigate easily because the daily notes from that stretch are all right there. I can see whether it was one specific thing (a launch, a trip, a rough season) or a slow drift I didnāt notice while it was happening. Let me give you an example: Say I pull up the dashboard during my quarterly Personal Retreat and I see a 12-day gap in my writing habit back in October. My first question isnāt āwhy did I miss so much?ā Itās āwhat was going on during those 12 days?ā So I click into the first daily note in the gap. Maybe I find out I was prepping for a conference that week. The next note mentions I got sick. The next few notes show I was playing catch-up on everything I missed. By the time Iām done, Iāve reconstructed the whole story ā and now I can ask a much better question. Not āhow do I never miss again?ā but āwhatās my system for protecting this habit during high-stress weeks like this?ā Thatās a level of insight you canāt get from a standalone app. And itās actionable. It's the thing that actually helps you build better habits, because you can understand why the chain broke before you can fix it. Building the DashboardMy habit tracking dashboard is built as a Canvas file in Obsidian. Each habit gets its own card and its own code snippet. Each card shows a month-view calendar laid out Monday through Sunday, with completed days as solid green circles and missed days as red rings. When you hit consecutive days, green lines connect them across the calendar, so your streak literally becomes a visible chain. You can navigate between months. Click any date, and youāre in the daily note for that day. Below each calendar is a stats bar: current streak, longest streak, longest break, completion percentage, and total days completed. The whole thing is powered by a single Dataview code block per habit, reading checkbox properties from your daily notes. Thatās it. No plugins beyond Dataview. No maintenance. No hard-coded logic to untangle when you want to change something. Here's what the properties look like in my Daily Notes: As long as I check those boxes and those properties match the code snippets, the data automatically shows up on my habit tracking dashboard. Iām not going to walk through the full code snippet here, but I did add this new version to my free Obsidian Starter Vault (click here to get the new version). And if you want to customize the code, there's actually just two things to change. The first is right at the top. There's a line of code that looks something like const habitProperty = "reading". If you want to track a different habit, just update the property in your Daily Note template file and update this line of code to match. There's also one other place further down where there is text in a table that shows the text at the top of the card. Here's what it looks like: Once you update those two spots in the code snippet, you can track any habit you want. The 30-Second Check-InThe dashboard is only as useful as the data feeding it. And the data is only accurate if logging it is effortless. So hereās my entire check-in workflow:
That's it. Takes about 30 seconds. Thatās it. No fancy prompts. No deep reflection questions. This isnāt the thinking step ā itās the data entry step. The reflection happens later, when Iām actually looking at the dashboard and trying to spot patterns. That separation really matters. If I tried to reflect every single day, Iād either skip the reflection (which defeats the purpose) or skip the tracking (which breaks the data). By making the daily step just ātoggle checkboxes,ā I eliminate the friction. The elimination of friction creates consistency, and that consistency is what makes the quarterly dashboard review actually worth doing. The principle here is that any data you want to analyze later has to be cheap to collect in the moment. The moment logging your data becomes a chore, it starts to become unreliable. Keep the collection stupid simple. Save the intelligence for when youāre ready to use it. Track Fewer Habits Than You Think You ShouldThis is the part I wish someone had told me earlier. The temptation when you build something like this is to throw every habit you care about on the list. Drink water. Meditate. Read. Exercise. Journal. Take vitamins. Stretch. Floss. But don't do this. If your daily check-in takes 30 seconds, youāll do it every day. If it takes five minutes because youāve got 15 checkboxes and you're trying to remember which ones you actually did, youāre going to start skipping days. Then youāll stop checking in entirely. Then the whole system falls apart. This is the pattern for most people who struggle with journaling. I keep mine between three and five habits. Theyāre the ones I genuinely care about sustaining right now, not everything I theoretically want to do in an ideal version of my life. Habits Iāve already firmly established (like daily Bible reading or stretching) donāt show up on this list. The ones Iām tracking are the ones Iām actively trying to establish. The five Iām currently tracking: reading, writing, planning, prayer, and shutdown. Each one is there for a specific reason. Reading and writing are the two creative habits that directly drive my creator business. IIf Iām not reading, Iām not getting new ideas, and if Iām not writing, Iām not figuring out what I think about those ideas (and that is the basis of all the content I create). Planning is my morning session where I look at my calendar and task list and decide what Iām actually going to focus on that day. Prayer is a spiritual discipline Iām trying to get better at. And shutdown is my end-of-workday routine, which includes closing out tasks, reviewing what got done, and mentally clocking out so Iām actually present with my family in the evening. Notice whatās not on that list: ādrink 8 glasses of water,ā ādo 50 pushups,ā ātake my vitamins.ā Those quantitative habits might be worthwhile, but they donāt need a dashboard. They need a water bottle, a pull-up bar, and a pill case. Hereās a good filter: only track habits where consistency compounds over time and you want to see the long-term patterns. Reading compounds. Writing compounds. A morning planning session compounds. The habits that belong on your dashboard are the ones where todayās checkbox is less important than the six-month trend. Remember: the shorter the list, the lower the friction. The lower the friction, the more accurate the data. The more accurate the data, the more useful the dashboard becomes when you actually sit down to reflect on it. The Bottom Line: Track Habits to Learn, Not to Judge.A streak is motivating. But a streak, by itself, doesnāt help you make meaningful change. The reason I track habits in Obsidian isnāt that the dashboard is prettier than a dedicated app (itās not) or because I canāt stand to leave Obsidian (I can). Itās because the data only becomes useful when itās connected to context, and Obsidian is where my context already lives. When I see a gap forming, the question I ask isnāt āwhy am I so undisciplined?ā Itās āwhat was happening during those days?ā That's an important shift. The first question creates guilt. The second one creates data. And you need data (not guilt) to actually build better habits over time. So if youāre setting up habit tracking for the first time, or youāre rebuilding what you already have, here are 3 things to keep in mind:
The streak may get you started. But the story is what makes you better. ā Mike |
A weekly newsletter where I help people apply values-based productivity principles and systems for personal growth, primarily using Obsidian. Subscribe if you want to make more of your notes and ideas.
Prefer to read (or listen to) this newsletter in your browser? Click here. š” The Big Idea: From a Full Day to an Hour ā How I Hired Claude as My YouTube Script Writer Iāve wanted to make book summary videos for a long time. Iāve read the books. Iāve taken detailed notes in Obsidian. Iāve spent 90 minutes on the Bookworm podcast discussing each one at length. The material was all there. But every time I thought about actually making these videos, I ran into the same wall: they took me an...
Prefer to read (or listen to) this newsletter in your browser? Click here. Most Obsidian users I talk to don't really know what to do with properties (the YAML metadata at the top of their notes). Which is a shame, because properties are one of the most powerful features in Obsidian for driving a PKM system that actually works. A MacBook Pro with highlighted Obsidian properties. Simply put, properties are structured metadata attached to your notes. They let you organize, sort, filter, and...
Prefer to read (or listen to) this newsletter in your browser? Click here. A picture of someone using Obsidian on a laptop. Want to give your Obsidian vault an instant upgrade? In this short newsletter, I want to share 10 quick tips that can help your vault start to feel a little more powerful and a lot easier to use. Use the Quick Switcher ā Navigate to any note instantly with ā-O, no file browsing required. Bonus tip: configure this to be your mobile quick action for navigating notes easily...