BeautyTasks — a task manager that stores every task as a Markdown note

Disclaimer

Is this plugin open source? Yes — MIT
Is this plugin completely free? Yes — no paid tier, no donations
Is this plugin vibe-coded beyond the author’s ability to comprehend how it works? No — AI-assisted, but every change is one I asked for, reviewed and tested.
Community Directory: BeautyTasks


I started BeautyTasks in July, mostly for myself, and it has moved fast enough that it might be useful to other people too.

It gives you a Todoist-style task manager inside Obsidian. The difference is what it leaves behind: every task is an ordinary Markdown note in your vault, with its data in the frontmatter. No database, no external service, no account, and no other plugin required.

Why one note per task

Checkbox tasks are excellent until a task needs more than a line — a description, a few comments over time, an attachment, a link to the thing it is actually about. A note carries all of that natively. And because a task is a note, everything Obsidian already does works on your tasks for free: search, backlinks, the graph, properties, Bases.

The cost is real and worth naming: you end up with a lot of small notes. They live in one folder you choose, so they stay out of the way — but if that idea bothers you, this plugin is not for you, and that is fine.

What it does

Views — Today, Upcoming, Recurring, Done, an Inbox for anything unassigned, plus your own projects and areas.

Three layouts, per page — list, kanban board or calendar, chosen independently for each view. Your Today can be a list while a project is a board.

Saved filters — stored as notes, so they sync and version like everything else in your vault.

Custom statuses — define your own, name them what you like, colour them how you like.

Quick captureCall Anna tomorrow 3pm #urgent @Work is parsed as you type, in ten languages. Every parsed part can be undone with one click if it guessed wrong, and you can escape a word to keep it as
text.

Recurring tasks — written in the iCalendar standard (RFC 5545), so other tools read t

Reminders, comments, attachments, subtasks — comments are a running log on the note, you choose.

Two-way Google Calendar sync — entirely optional, off by default.

Ten languages — English, German, Spanish, French, Italian, Portuguese, Turkish, Russi

Where your data lives

One note per task. Everything in the frontmatter, under plain names: due, scheduled, ence`. Most of those field names can be renamed to match whatever else reads your vault.

Your project notes belong to you — BeautyTasks adds its own properties and never touches

If you uninstall the plugin tomorrow, you keep a folder of readable Markdown notes. That

On your phone

The plugin runs on Obsidian mobile — views, editor and quick capture all work there.

What no plugin can do on iOS or Android is put a widget on your home screen or notify youat is an operating-system boundary, not something I can work around: reminders fire whileObsidian is open.

So there are two honest ways around it. Google Calendar sync turns dated tasks into calendar events, and your phone’s calendar app notifies you reliably. Or, because tasks are plain notes, a native task app can read the same vault directly. I set that up on a real device and wrote down what actut the documentation promised — that is in the README.

What it is not

  • It does not use your existing - [ ] checkboxes. There is a one-time importer, butf inline checkboxes are what you want, Tasks is the better tool and I would point youthere without hesitation.

  • It is one person’s work. It moves quickly and I fix reported bugs within a day or two — but it is one person.

Links and feedback

  • Install from Settings → Community plugins → Browse → “BeautyTasks”
  • Source, issues and full documentation: https://github.com/avnibilgin/BeautyTasks

I really like the one-note-per-task approach.

I’m curious though: have you noticed any performance issues once the task folder grows to a few thousand notes?

1 Like

Thanks — glad the one-note-per-task model works for you.

Your question came at a good moment: I took it as the cue to test the plugin properly under load. I built a generator that fills a vault with thousands of tasks and went through everything that affects speed. The result is in 1.43.0.

What that means day to day:

  • Long lists open right away, however many tasks are on them.
  • Ticking a task off changes that one line and nothing else — the list doesn’t jump, and you keep your place on the page.
  • Scrolling stays smooth no matter how far down you go.
  • Same for the board: each column loads what you can actually see, and every view remembers where you were.

For the curious: matching sub-tasks to their parent tasks is the heaviest piece of that work, and even with several thousand tasks it stays at one to two milliseconds.

I ran it with 10,000 active tasks — opening lists, filtering, checking things off, switching views. All quick.

It’s covered by automated tests too, so it stays that way as the plugin grows.

So: 1.43.0 or newer and you’re set. Feedback always welcome — it’s what shaped this round.