I recently discovered that journaling my thoughts is an effective way to express my feelings about work, personal relationships, and the events that occur in my daily life. So, I decided to keep a journal to jot down how I felt about various things every day. For the first few days, I used a conventional diary and pen to write. However, it soon got rather cumbersome to write long paragraphs, especially because I hadn't picked up a pen in a long, long time. So, I decided to switch to digital means. I tried Apple's first-party Journal app as well as Day One, one of the most popular journaling apps, but neither appealed to me. Instead of a dedicated app, I wanted to use one of the apps in my existing arsenal that I use regularly. That's when I figured I could convert Obsidian into a daily journal.
The app has a native daily note feature that I realized I could leverage to build a journal. Throw in some community plugins for added functionality, and I was looking to build a daily journal that could not just hold my thoughts but also help me organize them and list them in the manner I wanted. So, I combined these features and put together a functional daily journal with a user-friendly template and a dashboard to manage your daily entries. Here's how you can create your own version, too!
Setting up a daily note template with Templater
New day, new page
We'll be using a combination of built-in plugins on Obsidian, along with community plugins to create a journal. Let's start by creating a new folder in your Obsidian Vault called Journal. Then, go to Settings -> Core Plugins and enable Daily Notes and Templates. Click on the gear icon next to Daily Notes to configure it. Set the new file location to Journal, and leave the date format in the default configuration, i.e., YYYY-MM-DD. Finally, turn on the Open daily note on startup option if you wish to access your journal by default every time you open Obsidian.
Once done, it's time to install and use the community plugins — Dataview and Templater. Head to the Community plugins section and install both of them. Now, create a new folder in your vault named Templates, and create a new note inside it called Daily Note Template. Enter the code below inside the note to create a template for a journal:
---created:
tags:
- Daily
- timeperiods/date/
- timeperiods/week/
aliases:
-
---
# -
**Day of Year**:
**Navigation**:
|Yesterday]] | [[|Tomorrow]] >>
## Journal
- **Mood**:
- **Reflections**:
- **Gratitude**:
## Tasks
```tasks
not done
due on
short mode
This particular template adds sections to enter details about your mood, pending tasks, completed tasks, reflections from moments throughout the day, etc. You can customize these as per your requirements. Once done, head to the Daily Notes section on the Settings page and set the template file location to Daily Note Template. Then, go to Templater settings and enable Trigger Templater on new file creation. Now, every time a new journal entry is created every day, it will have the template we created.
Organizing your journal with Dataview
Create a dynamic dashboard

Along with the parameters included in the template, you can also add extra metadata to your journals to query them in your dashboard. For instance, you can add the following code to add an energy rating, mood, and tags to segregate your notes based on the topics you've written about:
```yamlmood: Sad energy: 2 tags: - journal - personal workout: No
```
Once you've finished journaling and added the metadata, it's time to organize the notes in one place using a dashboard created via Dataview. Create a new note and title it Journaling Dashboard. Here, you can add several pieces of code that collate different types of notes in one place. For instance, you can use the following code to view all the notes created today:
LISTWHERE file.cday = date("")
WHERE file.path != this.file.path
SORT file.name ASC
Similarly, you can create a table that can track habits. You can add a string like workout: yes/no to the metadata, along with mood, energy, etc., and then query it using the following code:
TABLE workout AS "Workout"FROM "Journal"
WHERE workout
SORT file.cday DESC
LIMIT 7
This will create a table consisting of all the days you worked out. You can also add other activities like cooking, walking, writing, etc. Over time, you will realize that you have an account of small details about your life that you can use to improve your lifestyle, be more accountable, or track the progress of a certain task.
Jot down your thoughts daily
Creating a custom journal for myself that automatically showed me a fresh page to jot down my thoughts as soon as I opened Obsidian on a new day motivated me to express my thoughts freely. Other additions, like the live dashboard to track the five most recent entries, entries with certain tags, and a weekly summary, certainly enhance the utility. There certainly are several journaling apps out there, but if your life is already in Obsidian and you use it as your personal knowledge management app or database, then this addition also makes it the perfect solution for your journaling needs.