A calm daily planner in Obsidian.
Get everything out of your head, then pick one small task that fits the time and energy you have right now. One Today page, a few properties and a Base for each list. No plugins.
What you’ll build
Most task lists show you everything at once. This planner shows a short list, chosen by how much time and energy you have:
- An inbox for anything on your mind, sorted later.
- Tasks with two extra properties, minutes and energy, so you can ask for “something under 15 minutes” or “something easy”.
- Up to three focus tasks for today, and bills and life admin two weeks ahead.
- One Today page that shows only those lists.
It’s the core of our Life OS vault, which has an ADHD-friendly design: one place to look, small next steps, and no guilt when you restart after a gap. You need Obsidian 1.9 or later with the Bases core plugin on. Everything below was tested in Obsidian 1.14 with no community plugins.
Step 1: A brain-dump inbox
When something pops into your head, write it down in seconds and get back to what you were doing. Each capture is a tiny note:
---
type: capture
captured: 2026-10-12
sorted: false
---
Ask the dentist about moving Thursday's appointmentSave the properties as Templates/Capture.md. This Base lists everything you haven’t sorted yet, newest first:
filters:
and:
- type == "capture"
- '!file.inFolder("Templates")'
properties:
file.name:
displayName: Capture
views:
- type: table
name: To sort
filters:
and:
- '!sorted'
order:
- file.name
- captured
sort:
- property: captured
direction: DESC'!sorted' means “sorted isn’t ticked”. A note with no sorted property at all won’t show up, so keep sorted: false in the template. To sort a capture, turn it into a task, put it on your calendar, or delete it, then tick sorted.
Step 2: Tasks with minutes and energy
Every task gets two extra properties: how many minutes it takes, and how much energy it needs (Low, Medium or High):
---
type: task
status: Next
energy: Low
minutes: 10
area: Home
due: 2026-10-15
focus: false
---
Smallest first step: find last year's form.Write the smallest first step in the note. “Renew the car registration” is a project; “find last year’s form” is something you can start now.
filters:
and:
- type == "task"
- '!file.inFolder("Templates")'
formulas:
size: if(!minutes, "", if(minutes <= 5, "⚡ 5 min", if(minutes <= 15, "15 min", if(minutes <= 30, "30 min", "1 hr+"))))
effort: if(energy == "Low", 1, if(energy == "Medium", 2, 3))
properties:
file.name:
displayName: Task
formula.size:
displayName: Time
note.energy:
displayName: Energy
views:
- type: table
name: Focus today
filters:
and:
- status != "Done"
- focus == true
order:
- file.name
- formula.size
- energy
sort:
- property: formula.effort
direction: ASC
- type: table
name: Quick wins
filters:
and:
- status != "Done"
- status != "Waiting"
- if(minutes, minutes <= 15, false)
order:
- file.name
- formula.size
- energy
- area
sort:
- property: minutes
direction: ASC
- type: table
name: Low energy
filters:
and:
- status != "Done"
- status != "Waiting"
- energy == "Low"
order:
- file.name
- formula.size
- area
sort:
- property: minutes
direction: ASC- Quick wins lists anything that takes 15 minutes or less, shortest first.
- Low energy lists easy tasks for when you’re tired, so you can still move something forward.
- The
sizeformula turns minutes into a label like “⚡ 5 min”. Each nestedif()handles one size. - Waiting tasks are left out of both lists, since there’s nothing you can do about them right now.
Step 3: Pick up to three for today
Each morning, tick focus on no more than three tasks. The Focus today view lists them, easiest first: the effort formula turns Low, Medium and High into 1, 2 and 3, and the view sorts by it.
Three is a limit, not a target. One finished task beats five started ones.
Step 4: Bills and life admin, two weeks ahead
Give each bill, renewal or appointment a note with type: admin, a due date, the amount, and an autopay checkbox. This Base shows the next 14 days with a traffic light:
filters:
and:
- type == "admin"
- '!file.inFolder("Templates")'
formulas:
alert: if(!due, "", if(date(due) < today(), "🔴 Past due", if((date(due) - today()).days.round(0) <= 7, "🟡 This week", "🟢 Later")))
properties:
file.name:
displayName: Item
note.amount:
displayName: Amount $
formula.alert:
displayName: Alert
views:
- type: table
name: Next 14 days
filters:
and:
- if(due, (date(due) - today()).days <= 14, false)
order:
- file.name
- due
- formula.alert
- amount
- autopay
sort:
- property: due
direction: ASCPast-due items stay on the list (their days are below zero), marked 🔴. When a bill is paid, move its due date to the next one, so the same note works every month.
Step 5: The Today page
Make a note called Home (or Today) and embed the four lists:
## Focus today (up to 3)
![[Tasks.base#Focus today]]
## Quick wins (15 minutes or less)
![[Tasks.base#Quick wins]]
## Brain dump to sort
![[Inbox.base#To sort]]
## Bills and admin, next 14 days
![[Life admin.base#Next 14 days]]Pin it in a tab (right-click the tab, then Pin) and it’s the first thing you see. Everything else, from goals to habits, can live one click away.
A 20-minute weekly reset
Once a week, empty your head, look back and look ahead. A template for it:
## 1. Clear your head (5 min)
- Brain dump everything into the inbox.
## 2. Look back (5 min)
- What went okay:
- What was hard:
- One small change:
## 3. Look ahead (10 min)
![[Life admin.base#Next 14 days]]
- Three things that matter this week:Missed a week, or a month? Skip the catch-up. Sort the inbox, pick today’s three, and start from here.
Mistakes that cost us time
- A Today page too long to read. Keep it to these four lists; the full list lives in the base.
- Tasks too big to start. If a task has no obvious first step, write one, or split the task.
- Your templates showing up as tasks. The
!file.inFolder("Templates")filter fixes it. - Sorting the inbox every time you capture. Capture now, sort once a day.
- Focus on everything. If more than three tasks are ticked, untick the extras.
Keep going.
How to Build a Simple CRM in Obsidian (No Plugins)
Track clients, follow-ups and invoices with one note per client and a single Base. Copy-paste code, no plugins.
Read the guide Bases recipesObsidian Bases Examples: 10 Copy-Paste Recipes
Ten tested recipes: due this week, days since, late invoices with totals, weighted pipeline, renewals, per-note embeds and the gotchas.
Read the guide Small office ITSmall Office IT Documentation in Obsidian: What to Record
What a small office should write down about its IT, what never to store, and a simple setup in Obsidian.
Read the guide Building with AIA Spec Template for AI Coding Tools (Claude Code, Cursor)
A one-page spec template for Claude Code, Cursor and other AI coding tools, a plan-first prompt, and where Obsidian fits.
Read the guide StudentsObsidian for Students: Track Assignments, Exams and Grades
Assignments with due dates, an overdue list and exam countdowns, plus class pages that list their own work. Copy-paste code, no plugins.
Read the guide Game mastersObsidian for Game Masters: Run a Tabletop RPG Campaign
Session prep in 30 minutes, secrets and clues until they’re revealed, NPCs listed on their places, and faction clocks. Any system.
Read the guide Real estate agentsReal Estate CRM in Obsidian: Follow-ups and Contract Deadlines
Follow-ups due, past clients to check on, and every contract deadline in the next seven days, in a private vault. No plugins.
Read the guide