Claude Just Gave My Obsidian Journaling Workflow a HUGE Upgrade — Transcript
Full transcript
- 0:00I've been journaling in Obsidian ever
- 0:01since I first started using the app over
- 0:025 years ago.
- 0:04>> [music]
- 0:04>> One of the reasons that this works so
- 0:06well is Obsidian's daily notes feature,
- 0:08though over time I've crafted my own
- 0:10journaling workflows to assign scores
- 0:11using a method called daily questions
- 0:13>> [music]
- 0:14>> that focuses on my intentions rather
- 0:16than the outcomes. This workflow was
- 0:19great and I've used it every day, but
- 0:21with the release of the Basis core
- 0:22plugin this year, it became clear that I
- 0:24would need to update this workflow to
- 0:26use the note properties instead of the
- 0:28tags that I've been using since the
- 0:29beginning.
- 0:30So, a few weeks ago I bit the bullet and
- 0:32I updated everything from that tag-based
- 0:34workflow that I've been using for years
- 0:36to note properties instead, [music]
- 0:38including the shortcut that I used to
- 0:40capture the values as part of my
- 0:41journaling workflow, and the graphs that
- 0:43I used to visualize the data. [music]
- 0:44And in this video, I want to show you
- 0:46what I changed, how I updated that
- 0:48shortcut, and most importantly, [music]
- 0:50I want to show you the beautiful, brand
- 0:52new journaling dashboard I was able to
- 0:54create as a result. [music]
- 0:56Now, I did a video a while back on the
- 0:57specifics of my entire daily questions
- 0:59workflow. The link to that video will be
- 1:01in the description below this one, but
- 1:03the short version here is that instead
- 1:04of using prompts like what did I
- 1:06accomplish today, I reframe the prompts
- 1:08in several important areas to focus on
- 1:10the intentions, not the outcomes. And
- 1:12this is the thing that has helped my
- 1:14journaling habit finally stick. Is I was
- 1:17no longer tracking outcomes that I
- 1:19really couldn't directly control, and I
- 1:21focused on my effort instead. So, every
- 1:23day I ask myself a series of questions
- 1:25that all begin with did I do my best to?
- 1:28Like, did I do my best to love my wife?
- 1:30Did I do my best to be a good friend?
- 1:33Did I do my best to create something?
- 1:36And I rate myself on a scale from 1 to
- 1:3910, and I log the scores in my Obsidian
- 1:42daily note. Now, for a long time I
- 1:44logged these scores as values attached
- 1:46to tags that I visualized using the
- 1:48Tracker community plugin. I created a
- 1:50canvas dashboard to track my scores for
- 1:52each area in a code block, and every
- 1:54quarter I'd review this dashboard as
- 1:56part of my personal retreat process, as
- 1:58well as update the dates in those code
- 2:00blocks so it is ready for the next
- 2:02round. It's a system that's worked for
- 2:04me for years, but I knew it needed to be
- 2:05updated for a couple of reasons.
- 2:08First, the tracker plugin is always kind
- 2:10of bugged me. It can be slow in
- 2:11rendering all that data, and the graphs
- 2:13don't look all that great. It was
- 2:15annoying to have to manually update the
- 2:16dates in the code blocks each quarter,
- 2:18and when you look at where Obsidian is
- 2:20going with bases and properties, I knew
- 2:22the writing was on the wall. My
- 2:24tag-based journaling workflow was going
- 2:25to need to be replaced with one that
- 2:27used note properties instead. And
- 2:29honestly, I've been dragging my feet
- 2:30with moving everything to properties
- 2:32because I have over 1,000 daily notes
- 2:35with these daily questions values saved
- 2:37as tags. But recently, I came across a
- 2:39pretty cool plugin at the recommendation
- 2:41of someone in the library, which is my
- 2:43private PKM community, called Life
- 2:45Tracker, that allows you to create a
- 2:47dashboard in bases to visualize your
- 2:49property metadata.
- 2:51It looked like a great way to visualize
- 2:53my note metadata, and it even has a view
- 2:55to make entering missing metadata easy.
- 2:57Using this, I would still have to make
- 2:59the switch from tags to properties, but
- 3:00this looked like an easy way to remove
- 3:02my reliance on the tracker plugin, and
- 3:04would at least free me from editing
- 3:06those code snippets every 90 days.
- 3:08So, I updated my daily notes template to
- 3:10add the daily questions metadata at the
- 3:12top, and I manually brought over about 2
- 3:14weeks of data so I could see what the
- 3:15data looked like when I created the
- 3:17graphs using this particular plugin.
- 3:20Now, first glance, I thought I had
- 3:22struck gold. I was able to create a
- 3:24pretty impressive-looking dashboard
- 3:26inside of a bases view that showed me
- 3:28historical data on all my journaling
- 3:30prompts using beautiful-looking line
- 3:32graphs, and I could even select from a
- 3:34few different colors to make it a little
- 3:35bit more visually appealing. Pretty
- 3:37quickly though, I started to hit the
- 3:38glass ceiling as I couldn't customize
- 3:40these charts exactly the way I wanted
- 3:43to, and there were a few types of charts
- 3:44that I wanted to use that were missing
- 3:46for other dashboards. So, as I started
- 3:48looking for ways to customize these
- 3:50graphs and build the ones I really
- 3:51wanted to use. I recalled Tim Miller
- 3:53writing about visualizing data in his
- 3:55daily notes using DataView JS. Now,
- 3:58unfortunately, I know nothing about
- 4:00writing DataView JS code, and I quickly
- 4:02got lost in those code explanations.
- 4:05But then I had a crazy idea.
- 4:08Could I get Claude to help me write the
- 4:10code to visualize the data the way I
- 4:13wanted to?
- 4:14And the short answer is absolutely yes.
- 4:17So, that is what I did. I built a
- 4:19beautiful new daily questions dashboard
- 4:21that looks like this, and I used Claude
- 4:23to help me write the queries to
- 4:24visualize the data the way I want. So,
- 4:26here's how I built this beautiful new
- 4:28daily questions dashboard. I started
- 4:30with a simple prompt. Help me write a
- 4:32DataView JS code block that will display
- 4:34number values from a specific property
- 4:36in my Obsidian note metadata over time.
- 4:38After going back and forth with Claude
- 4:40for a while, I was able to get a version
- 4:42that looks something like this.
- 4:44Now, this graph is pretty
- 4:45straightforward. It has a solid line
- 4:47that shows my daily questions scores for
- 4:48the specific property those scores are
- 4:50assigned to, and I initially asked it to
- 4:52show me the data for the last 90 days.
- 4:55There's a little bit of flex or tension
- 4:57in the line graph to make the lines
- 4:58curved, and the dotted line represents
- 5:00the average score for the time period
- 5:02shown on the graph.
- 5:04Now, honestly, this is already way
- 5:06better than my old tracker-based
- 5:08version, but then I got inspired by a
- 5:10feature that I saw in the life tracker
- 5:12plugin where you could select different
- 5:13time periods for the graph.
- 5:15So, I also was able to add a button to
- 5:18each code block that allows me to select
- 5:20different time periods to display on the
- 5:22graph. So, now I no longer have to
- 5:25update the date values in the tracker
- 5:27code, and I can just select the time
- 5:29period that I want from a drop-down
- 5:31menu. This is starting to look really
- 5:33great. And all the data instantly gets
- 5:35updated, the averages on the bottom are
- 5:37calculated just from the visualized data
- 5:39that's being shown in the graph, and
- 5:41this is kind of the best version of this
- 5:43that I've ever had. Now, all of All is
- 5:45displayed insanely fast thanks to
- 5:46DataView JS via the DataView plugin and
- 5:49the charting features provided by the
- 5:51Obsidian Charts plugin. So, if you try
- 5:53to implement DataViewJS without the
- 5:54Obsidian Charts plugin, you will
- 5:56probably get an error or a prompt to
- 5:58install that plugin. I provided links to
- 6:01both of those plugins below this video.
- 6:04Again, all of this is done with Vibe
- 6:05coding. I did it without actually
- 6:07knowing how to write any DataViewJS
- 6:09code, but by going back and forth with
- 6:11Claude, I did actually learn quite a bit
- 6:12about what the code was actually doing
- 6:14as Claude does a pretty good job of
- 6:16explaining what it's changing. So,
- 6:18here's a quick look at the code and
- 6:19what's actually going on here. Okay, so
- 6:21first there are three backticks and the
- 6:23word DataViewJS to indicate that this is
- 6:25a DataViewJS code block. Then, as you
- 6:28can see, Claude actually comments out
- 6:30the code so the first section here is
- 6:32used to make the header container which
- 6:34displays the header for the graph and
- 6:36the button to change the time period on
- 6:38the right.
- 6:39The next section adds the header on the
- 6:41left and the next section configures the
- 6:43look of the drop-down selection button
- 6:45on the right. Now, this took a little
- 6:46bit of tweaking to get it the way that I
- 6:48wanted, but with some basic CSS
- 6:49knowledge, I was able to do it fairly
- 6:52easily. Now, next is the section that
- 6:54sets the path for the daily notes folder
- 6:56for the specific property that I want to
- 6:58chart and the date format of my daily
- 7:00notes files. Now, if you wanted to
- 7:02change the property that the code
- 7:04actually graphed, you just change this
- 7:06property name right here, which makes
- 7:09this really easy to customize.
- 7:11The next section is for the options that
- 7:13show up in the drop-down and the values
- 7:14associated with each. This sets which
- 7:17time periods I can choose from and how
- 7:18many entries back from the current day
- 7:20to look at, and the next section sets
- 7:22the default view to quarterly.
- 7:24The next section creates the main
- 7:26container and the following section
- 7:27creates the graph container. After that,
- 7:30we get the function to display the chart
- 7:32based on the time period selected, and
- 7:34the first thing here is to clear any
- 7:36previous data. Then to calculate the
- 7:38cutoff date and figure out how many days
- 7:40worth of data to show.
- 7:42The next step is to fetch all the daily
- 7:43notes that have the property value and
- 7:46sort them in ascending order, which is
- 7:48the order that we'll use for the chart
- 7:50with the chronological dates on the
- 7:51bottom.
- 7:52The next section sets the labels from
- 7:54the daily notes dates and the values
- 7:56from the selected property, which is
- 7:57what will show up on the graph. The next
- 8:00section calculates the average score,
- 8:02but only from the data that is displayed
- 8:04on the chart. This took a little bit of
- 8:05back and forth to get this right. This
- 8:07makes sure that the average is always
- 8:09accurately displayed.
- 8:11The next section defines the chart
- 8:13structure for the Obsidian Charts
- 8:14plugin, where it sets the chart type as
- 8:16line, hides the labels for the graph
- 8:18itself, and sets the color for the lines
- 8:20and the dots.
- 8:21There's a little bit of extra color data
- 8:22here because I wanted solid dots on my
- 8:24graph instead of open ones, which I
- 8:26think looks a little bit better.
- 8:28The next section is where I force the
- 8:29graph to go from 0 to 10.5, even though
- 8:32the scale is only 1 to 10. And that's
- 8:35because the dots were sliced in half
- 8:37visually at the top or the bottom of the
- 8:39graph if there wasn't a little extra
- 8:41room. And adding margin or padding
- 8:43didn't seem to help, so going to 10.5
- 8:45gives me that extra room that I need to
- 8:47make sure the dots display correctly at
- 8:48the top of the graph, but then you can
- 8:50see I also force specific tick marks, so
- 8:52the graph itself only shows 0 to 10.
- 8:55Now, this section makes sure that the
- 8:56legend is hidden, and the next section
- 8:58shows the dotted red average line.
- 9:00The next section is what renders the
- 9:01chart and displays the message, "Please
- 9:03install and or enable the Obsidian
- 9:05Charts plugin" if the plugin is not
- 9:07active.
- 9:08The next section displays the average
- 9:09from the available data below the chart,
- 9:11followed by a section that looks for new
- 9:13data period to be selected from the
- 9:15drop-down menu, and if it finds one,
- 9:17re-renders the chart. And finally, the
- 9:19bottom section here is the initial
- 9:21rendering of the chart, which is for the
- 9:23quarterly 90-day time period. And at the
- 9:25very end, there's again three backticks
- 9:28to close out the code block. Okay, so
- 9:30that's the code. Then, I just copied
- 9:32this and I changed the header text, the
- 9:33property name, and the color values so
- 9:35that when I displayed all of these on my
- 9:37canvas dashboard, they all had
- 9:39distinguishable colors. Then I had
- 9:41another crazy idea. Could I combine all
- 9:44of these into one graph and toggle the
- 9:46individual properties on or off?
- 9:49Again, yes. So, I created another
- 9:52combined code block which shows each
- 9:54property as a different color on the
- 9:56graph and the averages below the graph
- 9:58for each score being shown.
- 10:00This might be my favorite thing that I
- 10:03have ever made in Obsidian. With this,
- 10:06you can actually toggle the check boxes
- 10:08at the top to choose which lines show up
- 10:10on the graph. The averages at the bottom
- 10:12get displayed only for the visible lines
- 10:14on the graph. And again, there's a
- 10:16button to display different time
- 10:17periods, so you can select from weekly,
- 10:19monthly, quarterly, yearly, or all time
- 10:21view options.
- 10:23The code block for this one is
- 10:24absolutely bonkers, so I'm not going to
- 10:26go through the whole thing here. But it
- 10:28does rely on a lot of the same logic.
- 10:31And I am building all of this stuff into
- 10:34the new version of Life HQ if you don't
- 10:35want to build this all yourself. I
- 10:37provide free updates to Life HQ to all
- 10:39customers, so if you already bought it,
- 10:40you're going to get this update for free
- 10:42pretty soon. Just want to make sure that
- 10:44everything is completely good to go
- 10:45before I add it there for everyone. But
- 10:48again, no properties are the key to
- 10:50making this all work and each graph is
- 10:52simply showing the numerical values
- 10:53associated with a particular property
- 10:56over time. So, as I shared earlier, the
- 10:58thing that drives this is my daily
- 11:00questions properties at the top of my
- 11:02daily note template file.
- 11:04So, you could manually update these
- 11:06every day, or you could use the command
- 11:07provided in the life tracker plugin. But
- 11:09I've been using a shortcut on my iPhone
- 11:11with actions provided by actions for
- 11:12Obsidian to capture these values easily
- 11:15at the end of my day without having to
- 11:16open up the Obsidian app. So, in order
- 11:19to update these, I also had to modify my
- 11:20daily questions shortcut that I walked
- 11:22through in this other video here. Now,
- 11:24the basic concept is still exactly the
- 11:26same. I answer prompts with numbers from
- 11:291 to 10 based on my intentions. Those
- 11:31responses get saved as variables, and
- 11:34then the variables get written to the
- 11:35current daily note using shortcuts
- 11:37actions from actions for Obsidian. The
- 11:40difference is that it's no longer a text
- 11:42block that gets inserted at a
- 11:44placeholder. For this to work, I had to
- 11:46first create a dictionary file in the
- 11:48shortcut with the key value pairs I
- 11:50wanted to set. Then I set the properties
- 11:53for the current daily note according to
- 11:54that dictionary. Now, this part gets a
- 11:56little bit technical. Short version here
- 11:58is that the set properties action adds
- 12:01my responses to the properties in the
- 12:03current daily note in a way that the
- 12:05workflow at the end of the day is
- 12:06exactly the same. So, here's what it
- 12:09looks like in action. First, I run the
- 12:11daily questions shortcut on my iPhone,
- 12:13which prompts me to provide number
- 12:14values for all my daily questions. Did I
- 12:17do my best to be spiritual? Did I do my
- 12:19best to love my wife? Did I do my best
- 12:21to love my kids? Did I do my best to be
- 12:23a good friend? Did I do my best to learn
- 12:25something? Did I do my best to create
- 12:27something? And did I do my best to
- 12:29exercise?
- 12:30Those responses are captured as
- 12:32variables, inserted into the dictionary,
- 12:35and then they get added to the
- 12:36properties in today's daily note in
- 12:38Obsidian. So, that's the shortcut, and
- 12:40if you want to use this for yourself,
- 12:42it's actually available inside my free
- 12:44Obsidian starter vault, which has a
- 12:45bunch of additional tips, templates, and
- 12:47resources to help you get more out of
- 12:49your notes and ideas. You can download
- 12:51that right now by going to
- 12:52vault.practicalpkm.com.
- 12:55All right, so that'll do it for this
- 12:57video on my updated digital journaling
- 12:58workflow. I walked through the code
- 13:00examples here so you can piece this
- 13:01together yourself if you want using
- 13:03Claude just like I did. But, as I
- 13:05mentioned, I'm also adding these
- 13:07personal dashboard tools into LifeHQ,
- 13:10which is my epic done-for-you Obsidian
- 13:11vault. It's the quickest way to get up
- 13:13and running with values-based
- 13:15productivity and creativity workflows.
- 13:17But, as I showed you in this video, it's
- 13:19easy to change and customize this to
- 13:21your liking so it fits the way that you
- 13:22work with your notes and ideas. I got a
- 13:25few more personal dashboards I'm working
- 13:27on for Life HQ as well, and you can find
- 13:29out more and get lifetime access to Life
- 13:31HQ at lifehq.practicalpkm.com.
- 13:36Thanks for watching, and we'll see you
- 13:38in another video.
About this transcript
This page contains the full transcript of Claude Just Gave My Obsidian Journaling Workflow a HUGE Upgrade by Mike Schmitz, generated from the public captions YouTube serves with the video. The transcript has 2,886 words across 420 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.