Markdown rarely lives in one place. The markdown we work with is spread across a dozen git repos, a docs folder per project, a CLAUDE.md in every checkout, and a pile of specs an agent rewrites three times a day. Go looking for a reader that sits on top of all of that, and every recommendation points to Obsidian. So we tried Obsidian.
The first thing Obsidian asks you to do is pick a vault.
The vault is the cost
A vault is a single folder Obsidian treats as the world. Notes link to other notes inside it; the graph, the search, the plugins all assume that boundary. Getting scattered markdown into one vault means either moving files out of the repos they belong to, or pointing Obsidian at a parent folder and watching it try to index node_modules and .git.
Neither is free. Moving files breaks the thing that matters most — a project’s notes living with the project, under the same version control, in the same diff. Pointing at a parent folder turns a note-taking app into a directory tree it doesn’t understand.
We built ML-42 so you wouldn’t have to choose. Point it at a folder — a git repo, a docs directory, even an existing Obsidian vault — and it reads what’s there. No import step. No database that needs to stay in sync with the disk. No new home for files that already have one. The folder you point at is the library.
What “no vault” buys you
You can open one repo today and a different one tomorrow without migrating anything. Nothing gets copied. Nothing gets rewritten. Close ML-42 and your files are exactly the bytes they were, in the directories they were already in.
Cmd+K searches across whatever you’ve opened, so the spec in one repo and the notes in another are one keystroke apart even though they were never meant to share a folder. Preview is fast, raw editing is fast, and the format is the interface the whole way down — what you read is the file, what you edit is the file.
The piece we lean on most is file-watching. When an agent rewrites a spec while you’re reading it, ML-42 reloads the document in place — no refresh, no reopen, no wondering whether you’re looking at a stale copy. That sounds small until your corpus is something a Claude Code run edits every few minutes. A folder that changes under you, watched live, is exactly what ML-42 is built to read.
There’s also on-device per-document summarization via Apple Intelligence. It runs locally, on a file you own, with no copy leaving the machine.
Where Obsidian is better
Obsidian is genuinely good, and a lot of people should stay on it.
The graph is the obvious reason. ML-42 has no backlink graph, no canvas, no map of how your notes connect. If you think by linking notes and walking the web between them — the whole Zettelkasten way of working — that’s the product you want, and ML-42 isn’t trying to replace it. You still get a way around a large corpus, just a different one: you navigate files and folders like a browser, with forward and back history and breadcrumbs in every header; each document carries a table of contents down the side; and a recent-activity list shows which files changed most recently. That’s enough to find your way without ever drawing a link.
The plugin ecosystem is the other reason. Obsidian has years of community plugins for tasks, calendars, dataview queries, spaced repetition, almost anything. ML-42 ships what it ships and doesn’t extend through a plugin market. That’s a deliberate trade — fewer surfaces, less to break — but it means a workflow that depends on three plugins keeps them in Obsidian and loses them in ML-42.
And Obsidian runs everywhere: Mac, Windows, Linux, iOS, Android, with sync across them. ML-42 is Mac only, with no iOS planned. If you read notes on your phone, that decides it.
The short version:
| ML-42 | Obsidian | |
|---|---|---|
| Setup | Point at any folder, no import | Adopt a vault |
| Many projects at once | Native — open any repo or docs dir | One vault is the boundary |
| File-watching / agent reloads | Built in | Not the focus |
| Backlink graph & canvas | No | Yes |
| Plugin ecosystem | None — fixed feature set | Large, mature |
| Platforms | Mac only | Mac, Windows, Linux, iOS, Android |
| Price | $12.99 once, no subscription | Free for personal use; paid sync/commercial tiers |
Who ML-42 is for
The person we built it for has markdown spread across many repos and docs folders that an AI keeps rewriting, and wants to read and edit all of it at native speed without first herding it into one app’s idea of a library. If that’s you, the no-vault model is the whole point.
If you live inside a single curated knowledge graph and lean on plugins and mobile, stay on Obsidian; we’ll say so plainly. The two tools answer different questions.
ML-42 is $12.99, introductory, Mac only, one time. No subscription, no server, no sync to rent — your iCloud or git already handles that. The introductory price rises later; there’s no countdown, only the plain fact that it won’t stay here.
It fits one shelf in a small set of tools that all read and write the same plain files — capture in SR-7, tasks in TR-2, reading in ML-42 — the one folder, two collaborators idea in practice. Markdown on disk, the same files your AI edits, no vault to adopt to get there.
See ML-42 if your notes live in more folders than any one app wants to own.