← Back to All Blog Posts
Posted: 11/24/2024

How I Daily Journal

I've been keeping a (digital) daily journal since July 7th, 2019.

In it, I write about my day and whatever I have on my mind.

It's really nice! It's great to have some way to get my thoughts out of my head and into somewhere else. It acts as a private space in which I am comfortable with writing basically any thought in my head.

I really enjoy journaling. I consider it to be the biggest major project of my life and I plan to keep doing it until I am unable. As I am writing this, I am very close to day 2000 (I am in the 1960's right now).

So, here's what I personally do for my daily journal. Everything that I do today is a result of trying things out over the years and I feel that I've arrived at a workflow that works for me. Though, who knows what will change in the future.

How I daily journal

I use Obsidian to write my notes and I create one entry (one file) for each day.

At the end of each day, I summarize what I did for the day and any thoughts that I have. Sometimes I write a lot and sometimes I write very little.

Writing Structure

I don't have a rigid writing structure at all.

When I started off, I wanted to do a "what went well and what could be improved" sort of thing, but it kind of felt annoying to stick to. Nowadays, I just write as if I was casually talking about what I did.

This sort of laid back approach to writing structure really helped me in the beginning because it felt like I didn't have to meet some sort of standard. I could just type words onto the screen and feel like I was doing a fine job.

I try to not skip days. Even if I only write a sentence or two, that's better than not writing anything at all. This used to be a big thing in the beginning, but now that I've been doing it for so long, It's just a habit that is baked into my nightly routine. If I end up missing a day, then I just make a journal entry for that day and write whatever I remember.

I don't really make a habit of writing throughout the day. I feel like constantly context switching over to writing a thing here or there derails me if I'm trying to focus on something. Though, for special occasions like travel where I really have nothing better to do, I might take out my phone and jot down a sentence or two about where I am with a timestamp. In those cases, it is fun to record things "live".

I generally try and record everything that I was doing in the day, even if it's just a short mention. Most of my life consists of normal and mundane days, and I like for the journal to be an accurate representation of that. It means that a lot of entries are generally the same unless something special happens, but that's just life.

Since I am using Obsidian, I try and create tags for repeated topics while I am writing about. It's not overly necessary, but If I'm taking about me playing a game that I've been playing for a while, it feels nice to be able to search for that tag and get the relevant pages where I am mentioning that thing.

Over time, I have picked up small habits in my writing:

  • Sometimes, I like to include a "song of the day", where I note and talk a little bit about a song that I was listening to.
  • When I do something like finish a movie or game, I do like to include a review to that thing in the journal entry.
  • I always begin the journal with writing "Today is the nth day of my daily journaling habit.". I don't remember where I picked this up from, but the intention is to have some sort of repetitive thing that you type at the beginning to eliminate the "fear of the blank canvas".
  • I always end the journal with "Until next time.". I think that it started as a reference to the way that the Pokemon Fansite Serebii signs off their site updates with. It's nice to have a end message that caps off the journal entry, I suppose.

Document Structure

Each document begins with YAML frontmatter that acts as metadata for the document.

The metadata includes the following information:

  • Created date and time
  • Journal Date - the calendar date that this file is for
  • Journal Number - how many days the journal has been going on for so far. So, 1000 would mean that this entry marks the 1000th day of the journal
  • Tags - by default has the "daily-journal" tag so that I can do a search for all daily journal entries by searching for that tag, but can also include other tags if they are relevant to the day
  • Keywords - Different from tags as they act as "Headlines" for the day that won't be reused like tags are. For example, if it's Christmas, then a keyword will be "Christmas Eve 2024".

Obsidian makes it very easy to create templates that can add all of this stuff for you.

After that is the actual content of the journal which is where I actually write about the day.

Filenames

The title of each entry is a number that counts how many days I have been journaling for.

It's so so so bad. My advice would be to not do that and just title things to be the date that you're writing for.

If I were to do it over, I would just write the day of the entry in the title.

In the beginning, it used to be fun to track the number and celebrate milestones. Now, I don't care because I've done it for so long that it's second nature and I do the numbering because it's habit.

It's impossible to look at a filename and know what day it's for unless I want to calculate it.

I care about organization

I care about organization for the daily journal. I like the idea that I can look back at any particular day and get an idea of what I was up to. I mean, I very rarely do, but having that sort of record keeping is sometimes useful vaguely interesting occasionally.

More generally, I care about being able to keep this journal for many years, so keeping things tidy now makes things easier in the future.

I organized things poorly

With that said, there are numerous organizational issues with the notes. These types of annoyances slowly accumulate over the years.

  • The filename might be incorrect sometimes, meaning that the number is wrong. Sometimes this means that I skip numbers entirely and sometimes that means that there are duplicate numbers. Either way, because I manually increment numbers for each entry, any error that I don't catch means that all filenames after the error are consistently wrong until I catch the error. There are multiple occasions in the journal where this happens and I have to fix it. And if it turns out that 100's of days are incorrectly named, then all I can really do is fix it in future entries.
  • The created / modified date is wrong. Exporting from notion (or importing into Obsidian) seems to have nuked the metadata, so I can't even use the created / modified date to determine when an entry was created.
  • Using a number is also just bad bad bad. It's difficult to just look up a specific day without busting out a date calculator to figure out what number something should be, and that's before you realize that the numbers might be wrong sometimes, so that will only point you in the ballpark of when you should check if that date was during a numbering issue.

To summarize: A lot of the time, I can't easily determine the date any particular journal is for because:

  • any created / modified file metadata is wrong
  • sometimes the filename is wrong due to human error which means you can't always be sure that a journal entry is for a specific date
  • even if the number is correct, searching for any particular date is annoying because you have to translate between the journal number -> journal date

...why did I do this to myself

These problems aren't completely unsolvable

Eventually, I started using date calculators to determine what day things should be and started checking periodically. After that, there were no errors that I didn't catch immediately when it was easy to fix.

Nowadays, I use an Obsidian plugin that I made where I can click a button and it automatically creates / opens the file corresponding the current day, thereby eliminating human error.

Obsidian comes with a daily note plugin, but I made my own to make a couple of changes:

  • The filenames are the numbers instead of the dates (ugh, I really should stop doing that)
  • It automatically applies a template when creating a file
  • If it's like 1AM and I open the daily note to journal about the day I just had, I want the note to be for the previous day (as if I was running the command before 12 midnight), not the present day.

Since I can't rely on created / modified dates (or even the filename) staying the same, I just have YAML metadata in the contents of the file itself specifying the date that the file was created AND the date that journal entry is for (including time zones). I include time zones so that any program (like obsidian) that is parsing those created dates doesn't interpret them as being in UTC or something.

These problems aren't completely unfixable

These problems might not exist for journal entries created now, but older files still have these problems.

It's not completely unfixable, which is kind of an interesting problem solving exercise.

I can't use metadata, so just throw that out.

I could create a script that automatically goes through each file and names it the date that it corresponds to based on whatever the filename is.

Of course, I can't just take the filename at face value because it might just be wrong.

In some journal entries, I explicitly mention the current day (like holidays), so I can determine with 100% accuracy when those were written use them as "anchor points".

Based on those anchor points, I can extrapolate the day of a potentially mislabeled entry based on its filename and the filename of the nearest anchor point. For example, if I know that a journal entry takes place on new years day 2022, then I know its date. So, I can take that date and determine what day of the journal it is, let's say it's the 50th day, and now I should be able to figure out the date for a journal entry that claims to be the 49th or the 51st day and so on. This is assuming that it really is the 49th or 51st day, but more anchor points means that I should be able to close in on the correct date.

A correct renaming of all the files should be non-contradictory to all of those anchor points. Everything should agree properly.

So, with enough anchor points (there should be enough), I can actually rename everything to be correct.

Nothing will explode if left as is

One thing that I have to remind myself is that nothing will explode if left as is. It may be more difficult to access things, but the files aren't going anywhere.

I am allowed to just leave things alone, error-filled as they are, and things will be fine.

That's kind of where I am at in terms of making comprehensive fixes to all of these problems.

The only thing that I make sure is that I provide enough information so things stay fixable in the future. Maybe one day I will fix these errors, so I want to make it as easy as possible for future me to do so.

The fun thing about making more journal entries continuously is that these errors become a smaller part of the whole journal every day. Unless I keep making errors.

It's fun!

I encourage everyone to have some sort of way to record their thoughts. For me, it's a good way to get them out of my head. Other than that, I don't really get that much out of it. I don't really need to know exactly what I did a year ago today, but the act of writing itself is very fun.

I do things a certain way, but that doesn't stop everyone from finding some way that works for them. The only way to figure out what works is to try.

I will add some pieces of advice though:

  • Don't make the same filename mistake that I did. Seeing the number go up as you journal more and more is kind of fun, but it's so useless for actually knowing what day each file is for and errors will continue to accumulate more if you don't catch them. Just name files based on what day it is.
  • Put any info that you want to keep about each file inside the contents of the file. Don't rely on metadata when a program can mess things up without you knowing.
  • Make backups!!! Even if you use a cloud writing program like Apple Notes, Google Notes, or Notion, It's a good idea to keep local backups in case something happens. Every month, I make the effort to back up the journal and a whole bunch of other stuff onto multiple local and online storage places.

Happy Journaling!