mm answers one question — what now — with exactly one task. Mark what matters as a gate and mm won't offer you anything easier until it's done. Interrupts preempt, then unwind. Habits sync both ways with your Obsidian daily note. Zero dependencies, MIT.
Replies
Best
Maker
📌
Hi Product Hunt 👋
I built mm because my problem was never remembering what to do. It was
opening a perfectly good to-do list, seeing eleven things, and picking the
easiest one. Every app I tried answered "what have I got?" — and that
question always has a comfortable answer.
So mm only answers "what now", with exactly one task.
The part that actually changed my days is gates. You mark the work that
matters as a gate, and while it is open mm refuses to hand you anything
else. Not a red label. Not a nag. The easy task is still in the list,
greyed out and marked gate-locked, and the tool simply will not offer it.
You can always override it — mm done closes anything — but you have to
type that, on purpose. Turns out that is the whole difference.
Two other things I use every day:
→ Interrupts go on a stack that unwinds. Something urgent preempts
everything, and closing it puts you back on the exact task you left,
rather than quietly replacing it.
→ Habits sync both ways with my Obsidian daily note. I tick "reading" in
Obsidian, it leaves the queue with the streak credited. I run mm done, the
box ticks itself.
It is Python 3.11+, zero dependencies, MIT, and everything lives in ~/.mm as
plain files. No account, no server, no telemetry — there is no network code
in it at all.
What it is not: there is no GUI and no phone app, no due dates and no
reminders. If you need those, a normal to-do app is genuinely the better
tool and I would rather you keep using it.
I would love to hear where gates break for you — especially the day you
override one, and why. That is the feedback I cannot get from my own usage.
Replies