One page for your day.
Make it yours.

Modular Diary turns an Obsidian note into a page you can arrange yourself: timeline, to-dos, habits, daily quote, and time stats. Choose what belongs. Draw a time block and your to-dos and habits update with it. The whole day lives in Markdown.

2026-09-05.md
Modules

      

This is a live demo. Toggle the modules, drag their headings to reorder them, drop a to-do on the timeline to make a plan, or draw a block to record time.

Six modules. Use what fits.

They all read and write the same Markdown block, so a change in one place shows up everywhere. Move, resize, or hide a module, and save your layout as the default for new notes.

Timeline

Pick a colour and drag to record a stretch of time. Its duration appears automatically. Hatched blocks are plans; solid blocks are what really happened.

Draft chapter three2.5h actual / 4h planned
Study word list 545m planned

To-dos

Estimate a task, then drag it onto the timeline to make a plan. Afterwards, see how long it actually took.

Exercise for 30 minutes✓ Done
Read 5 hours a week3.5h / 5h this week

Habits

Set a goal such as “exercise 30 minutes a day.” Once your timeline adds up to the target, it checks itself off.

The work that matters starts with showing up. Keep going.

Daily quote

See one line from your own quote list each day, on a background coloured like a highlighter. Add quotes one per line.

Writing4hReading1.5hExercise0.5h

Time stats

See how much of today went to each kind of activity. No export or dashboard needed.

Just ran for half an hourRecord
16:00–16:30 ExerciseSaved to note

Quick capture

Write “Just ran for half an hour” and it works out the time, category, and colour. This optional module uses your own model API key.

There is also a text module for plain Markdown. Add as many as you need.

For days you shape yourself

When nobody sets your schedule, you need to see where your time goes. The same plugin can become a different page for each person.

It takes a few drags a day. After a week, you can see the shape of your time—and decide what to change.

Markdown is the source of truth

The entire page is one timeline code block in your note. Actions in the interface write back to these lines, and edits to the lines show up in the interface.

```timeline
date: 2026-09-05
layout: text@0,0,6,4 todos@0,4,6,5 timeline@6,0,6,45
todo: id="t1" done=false estimate=240 title="Draft chapter three"
---
plan 09:00-12:00 Writing
09:15-11:45 Writing Draft chapter three [todo:t1]
11:45-12:30 Lunch
@13:10 Feeling tired; take a short walk
===
No messages until the writing is done.
```

MD is Modular Diary.
It is also .md.

No database or sidecar files. Git can diff it, and your existing note sync can carry it. Even without the plugin, it is still readable text. Give the included skill to your agent and it can write entries too.

Frequently asked questions

Where is my data stored?

In a timeline code block inside your note. There is no database or sidecar file. Your notes can travel through iCloud, Git, or Obsidian Sync, and remain readable without the plugin. Habit rules, quotes, and category colours live in the plugin's global settings.

Can I arrange the modules myself?

Yes. Drag modules to reorder them, resize them from the edges, or hide them from the context menu. Add them back from “More.” The layout line stores the arrangement; you can also make it the default for new diary blocks.

Do I need AI to use it?

No. The timeline, to-dos, habits, quote, and stats work offline. Quick capture is optional. Without an API key it shows a setup prompt; you can hide the module altogether.

Does it work on mobile?

Yes. You can view and draw on the timeline in Obsidian mobile. Quick capture can use a model API on mobile; the local Claude CLI backend is desktop-only.

How do categories and colours work?

Set up a “category → colour” list in the plugin settings. Notes store category names, so changing a colour does not rewrite old entries.

I used the old Oneday plugin. How do I migrate?

The new plugin ID is modular-diary, so this is not an in-place update. Back up the old plugin folder and settings locally. Disable Oneday, install Modular Diary, privately copy the old data.json into the new plugin folder, then enable it. Do not enable both: they both handle timeline blocks. You will also need to remap hotkeys and custom CSS. Full migration guide.

Ready to build your day?

A daily page, arranged your way.

Install for Obsidian

v0.2.0 · Free · Open source · Desktop and mobile · Obsidian 1.8.7+

Not yet listed in the Obsidian community directory. For now, the button opens the latest GitHub Release. Installation instructions.

More Obsidian plugins from the same maker

All projects →