user@argobox:~/journal/2023-08-19-the-176-message-obsidian-setup
$ cat entry.md

The 176-Message Obsidian Setup

○ NOT REVIEWED

The 176-Message Obsidian Setup

Date: August 19, 2023 Duration: Multiple sessions Messages: 176 Issue: Creating the perfect journaling system in Obsidian Result: Automated daily notes with dynamic linking


The Goal

I wanted Obsidian to be my second brain. Not just a note-taking app, but a system that:

  1. Creates daily notes automatically
  2. Links entries across time (yesterday, tomorrow, this week)
  3. Tracks work tasks, personal thoughts, and technical learning separately
  4. Queries past entries dynamically

176 messages later, I had it.


The Daily Note Template

The foundation of everything:

---
tag: dailies Daily-Notes To-Do Journaling <% tp.date.now("YYYY-MM-DD") %>
cssclass: dashboard
---

> [!Quote]+ Quote of the Day
> <%tp.web.daily_quote() %>

## <% tp.date.now("dddd, MMMM Do, YYYY") %>

### Navigation
- [[<% tp.date.now("YYYY-MM-DD", -1) %>|← Yesterday]]
- [[<% tp.date.now("YYYY-MM-DD", 1) %>|Tomorrow →]]
- [[<% tp.date.now("YYYY-[W]ww") %>|This Week]]

---

## 🎯 Today's Goals
- [ ]

## 📋 Work Notes


## 🏠 Personal


## 💭 Thoughts


## 📚 Learning


---
*Created: <% tp.date.now("YYYY-MM-DD HH:mm") %>*

The Templater Magic

The <% tp.date.now() %> syntax is Templater, not Obsidian core. It processes when the note is created, not when you view it.

Key functions:

  • tp.date.now("YYYY-MM-DD") - Today’s date
  • tp.date.now("YYYY-MM-DD", -1) - Yesterday
  • tp.date.now("YYYY-MM-DD", 1) - Tomorrow
  • tp.date.now("dddd") - Day name (Monday, Tuesday…)
  • tp.web.daily_quote() - Random quote from an API

The navigation links are the killer feature. Every daily note links to its neighbors. Click through time like a timeline.


The Auto-Creation Problem

I wanted notes to exist even when I wasn’t at the computer. Morning note should be there when I arrive.

Solution: Templater’s “Trigger on new file creation” + a cron job.

#!/bin/bash
# Create today's daily note if it doesn't exist
DATE=$(date +%Y-%m-%d)
NOTE_PATH="$HOME/Documents/Obsidian/Vault/Daily/$DATE.md"

if [ ! -f "$NOTE_PATH" ]; then
    # Trigger Obsidian to create the note
    obsidian://new?vault=Vault&file=Daily/$DATE
fi

Run at midnight. Note exists by morning.


The Folder Structure

Vault/
├── Daily/
│   ├── 2023-08-19.md
│   ├── 2023-08-20.md
│   └── ...
├── Weekly/
│   ├── 2023-W33.md
│   └── ...
├── Work/
│   └── Projects/
├── Personal/
│   └── Journal/
└── Templates/
    ├── Daily Note.md
    └── Weekly Review.md

Daily notes go in Daily. Weekly summaries go in Weekly. Work and personal are separate but linked.


The Dataview Queries

Templater creates the notes. Dataview queries them.

Recent daily notes:

TABLE WITHOUT ID
  file.link as "Date",
  file.mtime as "Last Modified"
FROM "Daily"
SORT file.name DESC
LIMIT 7

Incomplete tasks from this week:

TASK
FROM "Daily"
WHERE !completed
WHERE file.ctime >= date(today) - dur(7 days)
SORT file.name DESC

All entries mentioning a specific topic:

LIST
FROM "Daily" OR "Work"
WHERE contains(file.content, "homelab")
SORT file.name DESC

The Quote of the Day

tp.web.daily_quote() hits an API and embeds a random quote. Small thing, but it makes opening the daily note feel intentional.

When the API is slow, it shows a loading placeholder. When it fails, it shows nothing. Graceful degradation.


The CSS Classes

The cssclass: dashboard in the frontmatter triggers custom styling:

.dashboard {
  --h1-size: 2em;
  --h2-size: 1.6em;
}

.dashboard .markdown-preview-view h2 {
  border-bottom: 1px solid var(--background-modifier-border);
  padding-bottom: 0.3em;
}

Makes the daily note feel different from regular notes. Visual separation for different contexts.


What 176 Messages Taught Me

Templates are code. Treat them like code. Version them. Test them.

Start simple. My first template was 10 lines. It grew as needs emerged.

Automation compounds. One cron job creating daily notes saves 30 seconds a day. Over a year, that’s 3 hours.

Links are everything. The value of Obsidian isn’t the notes. It’s the connections between them.


The Current State

Two years later, I have:

  • 600+ daily notes
  • Automatic weekly reviews
  • Work projects linked to daily entries
  • Technical learning tracked over time
  • A searchable record of what I was thinking on any given day

The 176 messages were an investment. The return has been enormous.


The second brain doesn’t build itself. But once built, it remembers everything you forget.