My Improved Obsidian Habit Tracker: Simpler, Faster, Better — Transcript
Full transcript
- 0:00A while back, I shared how I track
- 0:02habits in Obsidian using a canvas
- 0:04dashboard, and that video helped a lot
- 0:07of people set up their first Obsidian
- 0:09habit tracking workflow. But, there were
- 0:11three problems with that setup.
- 0:14First, it required Tracker, a powerful
- 0:16community plugin, but one which added
- 0:18friction and meant more things that
- 0:20could break whenever Obsidian got
- 0:23updated. Second, customizing it took way
- 0:26longer because everything [music] was
- 0:27hard-coded into the code snippet itself.
- 0:31And third, it was really slow to load
- 0:33the data whenever you went to view that
- 0:35dashboard. So, I rebuilt the whole
- 0:38system using a single plugin that you're
- 0:40probably already using, Dataview. The
- 0:43new version is faster to set up, easier
- 0:46to customize, doesn't require any
- 0:48updating, displays your dashboard data
- 0:50instantly, and now shows even more habit
- 0:53data all in one place. And in this
- 0:56video, I'm going to walk you through the
- 0:57complete setup process
- 0:58>> [music]
- 0:59>> step-by-step, so you can have the same
- 1:01system running in your own Obsidian
- 1:03vault in just about 20 minutes. Now,
- 1:05before we get into the setup, I want to
- 1:07make the case for why you'd want to
- 1:09track habits inside of Obsidian at all
- 1:11because there are plenty of dedicated
- 1:13habit tracking apps out there. Some of
- 1:15them are really nice. So, why not just
- 1:17use one of those?
- 1:19Well, the answer, my friend, is context.
- 1:22Most habit tracking apps are built
- 1:24around the don't break the chain concept
- 1:27which is popularized by comedian Jerry
- 1:29Seinfeld. Story goes that a young comic
- 1:31came up to Seinfeld after a show once
- 1:33and asked if he had any advice for an
- 1:35aspiring young comic. Jerry told him,
- 1:37"Get a big wall calendar and put a big
- 1:40red X on each day that you write new
- 1:42material. After a while, you'll have a
- 1:44chain," he said, "and your only job then
- 1:46is to not break the chain." Now, the
- 1:48principle here is that seeing that chain
- 1:50or streak grow is pretty motivating. And
- 1:52often, that's enough to keep you going
- 1:54when you don't really feel like it.
- 1:56There's something powerful about seeing
- 1:57a long streak develop like that and not
- 2:01wanting to mess it up by breaking it.
- 2:02Now, any app can help you track your
- 2:04streaks, but here's what a dedicated
- 2:06habit tracking app cannot do. It cannot
- 2:08tell you why you broke that chain.
- 2:12Hey, why?
- 2:14>> [laughter]
- 2:15>> When I look at my reading habit in
- 2:17Obsidian, for example, and I see a
- 2:182-week gap, I can actually go back to my
- 2:21daily notes from that stretch and figure
- 2:23out what was happening. Maybe it was a
- 2:24stressful season at work. Maybe my
- 2:26energy was low. Maybe I was traveling.
- 2:28The context is all right there, sitting
- 2:31in my daily notes right next to the data
- 2:33that's fueling my habit dashboard
- 2:35because it's all in the same system.
- 2:38And that is something a standalone app
- 2:40will never be able to give you. It can
- 2:41show you the gap, but it can't help you
- 2:44understand it. And that matters most
- 2:46when you sit down to do your reviews.
- 2:49The goal is not just to see how
- 2:51consistent you were, it's to understand
- 2:53your patterns well enough to help you
- 2:55actually get better, to make those small
- 2:581% improvements.
- 3:00You need to understand why your system
- 3:02broke before you can accurately diagnose
- 3:05and fix it. That requires context. And
- 3:07if you use your daily notes the way that
- 3:09I do, Obsidian is where all that context
- 3:11already lives. So, that's why I track
- 3:13habits here instead of a separate app.
- 3:16Everything's connected, and that's kind
- 3:18of the whole point. Okay, now before we
- 3:19build anything, let me show you what the
- 3:21finished product looks like, so you know
- 3:22exactly what you're working towards. And
- 3:24if you want a done-for-you version of
- 3:26this, I've actually included the updated
- 3:28version of this dashboard in my
- 3:30Practical PKM Starter Vault, which you
- 3:32can download for free right now at
- 3:33vault.practicalpkm.com.
- 3:36I highly recommend you download that if
- 3:38you are following along at home. So,
- 3:39this is my habit tracking dashboard.
- 3:41It's a canvas file in Obsidian, and each
- 3:43habit gets its own card on the canvas.
- 3:46As you can see, I'm currently tracking
- 3:47five different habits: reading, writing,
- 3:49planning, prayer, and shutdown.
- 3:51And each one has its own calendar view
- 3:53with streak stats built right in.
- 3:56Each card shows a full month calendar
- 3:58grid laid out Monday through Sunday.
- 4:00Completed days show up as solid green
- 4:01circles. Missed days, which means a
- 4:03daily note exists but I didn't check the
- 4:05box, show up as red rings. And the days
- 4:08without any data are just plain numbers.
- 4:11But, here's the part I really love. When
- 4:12you complete consecutive days, the
- 4:14dashboard draws green connecting lines
- 4:16between them. So, your streaks become
- 4:18this visual chain across the weeks and
- 4:20months in your habit calendar. You can
- 4:22literally see your consistency at a
- 4:24glance. And once the chain starts
- 4:26forming, you really don't want to break
- 4:27it. You can also navigate between months
- 4:30using the previous and next buttons at
- 4:32the top of the calendar. And if you
- 4:33click on any day, it opens the daily
- 4:34note for that day. So, if you notice a
- 4:37gap in your streak and you want to know
- 4:38what happened, you're one click away
- 4:40from getting that context. Now, below
- 4:42the calendar on each card, you've also
- 4:44got a stats bar with five different
- 4:46numbers.
- 4:47The current streak is how many days in a
- 4:48row you've completed this habit leading
- 4:50up to today.
- 4:51The longest streak is your personal best
- 4:53shown in gold, which is a great
- 4:55motivator. The longest break is your
- 4:57biggest gap between completions shown in
- 5:00red. This is honestly one of the most
- 5:01useful numbers because it shows you your
- 5:03worst-case pattern. If your longest
- 5:05break is 3 days, it tells you something
- 5:07very different than if it's 3 weeks. And
- 5:09then, you've also got your overall
- 5:10completion percentage from all the daily
- 5:12notes in your vault as well as the total
- 5:14number of days completed. Now, the key
- 5:16to making this actually work is to
- 5:18remove as much friction as possible when
- 5:20you're logging these habits.
- 5:21So, to log the habits that you see here
- 5:23really only takes about 30 seconds every
- 5:25day. I open my daily note, I go to the
- 5:27properties, I toggle the boxes for the
- 5:29habits I completed, and I'm done. That's
- 5:31it. This is not meant to be a journaling
- 5:33session or a deep reflection every
- 5:34single day. It's a quick data entry
- 5:37point. The dashboard is where you do the
- 5:39reflecting, and you can do that on your
- 5:40own schedule. Maybe during your weekly
- 5:42review, when something feels off, or
- 5:44like I said earlier, as part of your
- 5:45quarterly personal retreat. So, when you
- 5:47look at this dashboard and you notice a
- 5:49gap forming, that's your signal to click
- 5:51into those daily notes from that period
- 5:52and figure out what actually happened
- 5:54here. The dashboard shows you the
- 5:56pattern, but the daily notes have the
- 5:57data. That's where you figure out what
- 5:59went wrong and act on it. Okay, so to
- 6:01set this up, you first need to add some
- 6:03habits that you want to track to your
- 6:04daily notes template file. The habits
- 6:07are tracked using checkbox properties in
- 6:09your daily note properties. The ones
- 6:11that I use are actually included in my
- 6:13current daily note template file, which
- 6:14is also inside that free Obsidian
- 6:16Starter Vault. You can find that and
- 6:18modify it to your liking in the
- 6:19templates folder. Now, if you're adding
- 6:21these from scratch, just add a checkbox
- 6:23property for each habit you want to
- 6:24track and set the default value to
- 6:27false. That's going to make it unchecked
- 6:29by default. Now, when you create a daily
- 6:31note using this template, those
- 6:33properties will appear at the top as
- 6:35checkboxes that you can toggle. So, just
- 6:37click a checkbox, and the default value
- 6:39changes from false to true. Toggle the
- 6:41checkboxes for the habits that you
- 6:43complete each day, and you're done.
- 6:44That's the entire check-in workflow.
- 6:47Now, a piece of advice that I learned
- 6:49the hard way. I recommend you actually
- 6:51track fewer habits here than you think
- 6:53you should. I know it's tempting to
- 6:54throw 15 things on this list: drink
- 6:56water, meditate, read, exercise,
- 6:58journal, take vitamins, stretch, floss.
- 7:00But, if you're trying to build
- 7:01consistency, a shorter list is way more
- 7:04effective than a longer one. I keep mine
- 7:07between three to five habits at a time.
- 7:09I add them one at a time, and I only add
- 7:11the ones that I genuinely care about
- 7:13sustaining right now. Not everything I
- 7:16theoretically want to do in an ideal
- 7:17version of my life.
- 7:19The things that I have firmly
- 7:20established as habits already, like
- 7:22Bible reading and stretching every day,
- 7:23I don't bother tracking here. The ones
- 7:25that appear in my daily note template
- 7:27are the ones that I'm trying to
- 7:29establish.
- 7:30So, the key is to keep this simple and
- 7:32minimal. If your daily check-in takes 30
- 7:34seconds, you'll do it every day. If it
- 7:36takes 5 minutes because you're starting
- 7:37to list 15 things and you're trying to
- 7:39remember, which ones did I do, which
- 7:41ones did I not do, you're going to start
- 7:42skipping days, and then you're going to
- 7:44stop checking in entirely. Then, the
- 7:46whole tracking system completely falls
- 7:48apart. And I've been there. The short
- 7:51list keeps the friction low enough that
- 7:52the habit of tracking your habits
- 7:54actually sticks. Now, for the mobile
- 7:56workflow, this is actually dead simple.
- 7:58In fact, most of the time that I log my
- 7:59habits, I'm doing it on my iPhone. You
- 8:01just open Obsidian on your phone, tap
- 8:03into today's daily note, toggle the
- 8:05checkboxes in the properties section,
- 8:07and you're done. Since I have quite a
- 8:09few properties in my note, I find it
- 8:11helpful to show these properties in the
- 8:12right sidebar instead of at the top of
- 8:14the note. This requires hiding the
- 8:16properties at the top of the note, which
- 8:18you can do by going to settings, editor,
- 8:21properties in document, and changing the
- 8:23setting to hidden.
- 8:25And then, to show those properties in
- 8:26the right sidebar, open up the command
- 8:29palette and run the properties view show
- 8:31file properties command. I also have it
- 8:33set to open straight to today's daily
- 8:35note whenever I open Obsidian on my
- 8:37phone, which you can configure under
- 8:38settings, files and links, default file
- 8:41to open.
- 8:42So, whenever I open Obsidian on my phone
- 8:44at the end of the day, it takes me
- 8:45straight to the daily note. I swipe to
- 8:47see the right sidebar, and I just check
- 8:49the boxes for the habits that I
- 8:50completed that day.
- 8:52And just so you understand what's
- 8:53happening under the hood here, when the
- 8:54dashboard reads your data, it's looking
- 8:56at these front matter properties across
- 8:59every note in your daily notes folder. A
- 9:01property set to true means that you
- 9:03completed the habit that day, false
- 9:05means you didn't. That's the raw data,
- 9:07and minimizing the friction when logging
- 9:09it means it's much more accurate. So,
- 9:12everything that the dashboard shows you,
- 9:13the calendar view, the streaks, the
- 9:15breaks, the completion percentage, it
- 9:17all comes from reading those true-false
- 9:19values across all your daily notes. Now,
- 9:22if it helps, let me walk you through why
- 9:23I picked the five habits that I'm
- 9:25tracking right now. Reading and writing
- 9:27are the two creative habits that drive
- 9:29my creator business. If I'm not reading,
- 9:31I'm not getting new ideas. If I'm not
- 9:33writing, I'm not synthesizing those
- 9:35ideas, figuring out what I think about
- 9:38them, and turning those ideas into
- 9:39content. Planning is my morning planning
- 9:42session where I look at my calendar, my
- 9:44task list, and I decide what I'm
- 9:45actually going to focus on that day, and
- 9:46then I time block my day in my Supernote
- 9:48Nomad. Prayer is a spiritual discipline
- 9:50I'm trying to get a little bit better
- 9:51at, and shutdown is my end-of-workday
- 9:53routine where I close out my tasks,
- 9:55review what got done, and mentally clock
- 9:57out, so I'm actually present with my
- 9:58family in the evening. Now, notice that
- 10:00none of these are things like drink
- 10:02eight glasses of water or do 50
- 10:03push-ups.
- 10:04Those quantitative habits might be
- 10:07worthwhile, but in my opinion, they
- 10:08don't need a tracking dashboard in
- 10:10Obsidian. The habits that I track here
- 10:12are the ones where consistency compounds
- 10:14over time, and where I want to see
- 10:17long-term patterns emerge, not just
- 10:20check today's checkbox. So, that's a
- 10:22good filter to use when you're deciding
- 10:24what to put on your own habit list.
- 10:26Okay, so now let's build the dashboard.
- 10:27I'm going to walk you through this
- 10:28step-by-step, but I got to say up front,
- 10:30even if you've never touched a line of
- 10:32code before, there's really only one
- 10:34thing in this entire setup that you
- 10:35absolutely need to change to make it
- 10:38your own. Everything else, you can just
- 10:39copy and paste directly. So, there's two
- 10:42places where you're actually going to
- 10:43change text, but one thing that drives
- 10:46all of the data in the dashboard, and
- 10:48that one thing is the habit property,
- 10:50which is just the name of the checkbox
- 10:52in your daily note front matter that
- 10:54corresponds to the habit that you're
- 10:56tracking. I'm going to show you exactly
- 10:58where to find it and what to change it
- 10:59to when we get there. Okay, so first, to
- 11:02add these charts, you really just need a
- 11:04new canvas file. I call mine habit
- 11:06tracking dashboard, and then you just
- 11:09add cards for each habit that you want
- 11:10to visualize. Each habit gets its own
- 11:13card with the DataView JS code block
- 11:14that handles everything, reading your
- 11:16data, calculating the streaks, and
- 11:18rendering the calendar. Now, again, I
- 11:20generated these using Claude code, just
- 11:22like the new journaling dashboard that I
- 11:23described in this other YouTube video
- 11:25here. So, to create the charts, you just
- 11:27drag in a card, edit the code in the
- 11:29card, and paste in the code block. Now,
- 11:32there's a lot going on in this code, but
- 11:34I'll walk through a little bit of it
- 11:35here. So, first, at the very top is
- 11:36three backticks and the word DataView
- 11:38JS, which tells Obsidian that this is a
- 11:40code block, and it should use DataView
- 11:41to try to render it.
- 11:43The first section is the configuration
- 11:45section. This is where you change the
- 11:46habit that you want to track by typing
- 11:48the name of the property right here.
- 11:51That's the one thing you absolutely have
- 11:52to change.
- 11:53The next section creates a unique ID
- 11:55based on that habit property name, and
- 11:57the next big section is how it
- 11:59calculates the streak statistics. The
- 12:01next section is the function to render
- 12:03the calendar, a section for getting all
- 12:05the daily notes from the property based
- 12:07on the daily notes folder location,
- 12:09creates a map of dates for the habit
- 12:10completion,
- 12:12calculates the streaks,
- 12:13gets the first and last days of each
- 12:15month,
- 12:16gets the starting day of the week, which
- 12:17I have set to Monday,
- 12:19gets the month name,
- 12:21adds previous month dates,
- 12:23adds days from the current month, and
- 12:25builds an HTML calendar that includes
- 12:27both a next and previous button.
- 12:29This is the only other place where you
- 12:31might need to change something as the
- 12:32header text and the emoji that show up
- 12:34at the top of the calendar appear here.
- 12:37Then it renders each cell,
- 12:39checks for connections,
- 12:41has special logic for horizontal
- 12:42connections and week wrapping
- 12:44connections,
- 12:45uses darker colors for the previous
- 12:46month,
- 12:47defines the style for the dots,
- 12:49and also has a bunch of stuff here for
- 12:51displaying the line elements in the
- 12:53calendar.
- 12:54Below that is the HTML grid section.
- 12:57Now, at the very bottom, there's a
- 12:58section here which renders everything
- 13:00and creates event listeners to update
- 13:01when things get clicked on.
- 13:03At the very bottom, of course, there are
- 13:05three backticks to close the code block.
- 13:07So, that's basically what the code does,
- 13:09but there is one variation I want to
- 13:11show you here, and that is for my
- 13:12shutdown habit. That's my end of work
- 13:15day routine. I only do this on the
- 13:16weekdays. So, I have a slightly modified
- 13:19version of the code that actually skips
- 13:21weekends entirely. It doesn't count
- 13:24Saturdays or Sundays as miss days, and
- 13:26it doesn't break your streak if you skip
- 13:28the weekends. So, if you have habits
- 13:30that are weekday only, like a work
- 13:31routine or a commute-related habit, then
- 13:34this variant can be really handy. Modify
- 13:36that code block from the starter vault
- 13:38if you want that functionality.
- 13:40But, here's what I really want you to
- 13:41take away from this video. You do not
- 13:44need to be a power user to set this up.
- 13:47If you can create a canvas file, paste
- 13:49in a code block, change two lines of
- 13:51text, and toggle checkboxes in your
- 13:53daily note, you can have this running in
- 13:56your vault today. It's all built on one
- 13:58code block per habit, and once it's in
- 14:00place, you never have to touch this code
- 14:03again. You just check your boxes and let
- 14:04the dashboard do the rest. So, that's
- 14:06the dashboard setup. Now, let me show
- 14:08you how I actually use this day-to-day,
- 14:10because the system is only as good as
- 14:12your habit of using it. Now, daily
- 14:14interaction, as I mentioned before, is
- 14:15actually pretty minimal. When I complete
- 14:17a habit, I check the box in my daily
- 14:19note, as I described earlier on my phone
- 14:21at the end of the day. That's it.
- 14:22Tracking all my habits takes about 10
- 14:25seconds.
- 14:26The dashboard isn't something that I
- 14:28look at every day, but it's there when I
- 14:30need it. Where it really earns its keep
- 14:33is in my reviews. So, about once a week,
- 14:35I'll pull up the dashboard, and I'll
- 14:37just scan for patterns. Not to judge
- 14:38myself, just to notice if anything feels
- 14:41off. Did I consistently miss my reading
- 14:44habit on Thursdays? Was there a stretch
- 14:46where I was firing on all cylinders? The
- 14:48calendar view makes those patterns
- 14:49obvious in a way that a simple streak
- 14:52number never could. But, the number that
- 14:54is most interesting to me is not the
- 14:56current streak or even the longest
- 14:57streak, it's the longest break. That
- 15:00number tells a different story. A long
- 15:03break is not a moral failure, but it is
- 15:05a signal that something is off. It's
- 15:07telling you that something happened
- 15:08during that stretch that made this habit
- 15:10especially hard to maintain, or maybe
- 15:13you just don't care enough about this
- 15:14thing to do it consistently anymore,
- 15:15which is completely fine. But, when I
- 15:17sit down for my quarterly review, and I
- 15:19see a longest break of, say, 18 days, my
- 15:22first question isn't why did I miss this
- 15:24so much? I try to figure out what was
- 15:26going on during those 18 days. And
- 15:29because all of that context lives right
- 15:31there in Obsidian, in my daily notes, my
- 15:33journal entries, my weekly reviews, I
- 15:35can actually go find it. That's the
- 15:37mindset shift that makes this system
- 15:39work. You're not tracking habits to
- 15:41create guilt if you don't do them.
- 15:43You're tracking habits to create data
- 15:45that supports the behavioral change that
- 15:47you want to make. That data is something
- 15:49that you can actually learn from. A
- 15:51streak is motivating, but understanding
- 15:53why the chain broke, and what was
- 15:55happening in your life when it did,
- 15:57that's what helps you actually build
- 15:59better habits over time. So, that's my
- 16:01updated habit tracking system, a custom
- 16:03canvas dashboard that gives you a
- 16:05calendar view of your completions and a
- 16:06streak summary of your current streak,
- 16:08longest streak, longest break, all
- 16:11powered by simple checkboxes in your
- 16:14daily notes. Now, if you want to get
- 16:15started with this quickly, I put
- 16:17together a free starter vault that
- 16:18includes the full habit tracking
- 16:20dashboard that you saw in this video.
- 16:22But, it's not going to look the same
- 16:23because there's no daily note data in
- 16:25there to populate it with.
- 16:26>> [music]
- 16:26>> The code blocks are all there, though,
- 16:27if you do want to customize them and add
- 16:29them to your own Obsidian vault. It
- 16:31includes the exact code blocks that I
- 16:33showed you in this video, along with the
- 16:34daily note template file with all the
- 16:36checkbox properties already set up. So,
- 16:39if you haven't yet, you can download it
- 16:40for free right now by going to
- 16:43vault.practicalpkm.com.
- 16:44[music]
- 16:46And if you want to take this even
- 16:47further, if you want your habit data to
- 16:48be part of a bigger life operating
- 16:51system that connects your daily notes,
- 16:52your weekly reviews, your quarterly
- 16:54retreats, and your long-term goals all
- 16:56in one place, that's exactly what LifeHQ
- 17:00is for. The dashboard that we built
- 17:02today is a great standalone tool, but
- 17:04inside of LifeHQ, it becomes one piece
- 17:07of a much bigger picture. Your habits,
- 17:09your projects, your reading, your
- 17:11journaling, it's all connected, all in
- 17:14Obsidian, all in one epic pre-built
- 17:16vault. LifeHQ also has over 60,000 words
- 17:20of documentation,
- 17:21>> [music]
- 17:21>> so you can customize things just the way
- 17:23you like them and really make it your
- 17:24own. So, if that sounds interesting, you
- 17:26can find out more at
- 17:27lifehq.practicalpkm.com.
- 17:29[music]
- 17:30Thanks for watching, and we'll see you
- 17:31in another video.
- 17:36Go, go, go, go, go, go, go, go, go, go,
- 17:37go, go, go, go, go, go, go, go, go, go,
- 17:37go, go, go, go, go, go, go, go, go, go,
- 17:38go, go, go, go, go, go, go, go, go, go,
- 17:38go, go, go.
About this transcript
This page contains the full transcript of My Improved Obsidian Habit Tracker: Simpler, Faster, Better by Mike Schmitz, generated from the public captions YouTube serves with the video. The transcript has 3,658 words across 549 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.