Notebook Navigator. Zero lines written by hand.
Notebook Navigator replaces the file explorer in Obsidian with a two-pane interface. It is the top-ranked plugin in Obsidian's directory, with over 700,000 downloads and users in 21 languages. It is built and maintained by one person: our CEO Johan Sanneblad. He has never written a single line of its code by hand.
This is the story behind the numbers. It starts with seventeen years of notes in other people's apps, and runs through fourteen months of agentic development in which three different frontier models have taken turns at the keyboard. The codebase now exceeds 270,000 lines. The story also keeps the parts that usually get edited out: the versions that were rough, the model that hit its ceiling, and what happened next.
- Downloads (August 12)
- 849,000 +
- Of 6,582 plugins (August 12)
- # 2
- Releases
- 180
- Languages
- 21
- Lines of code and tests
- 270,000 +
- Lines written by hand
- 0
01
Seventeen years of notes
Johan wrote his first Evernote note in 2009. The app was fast, and the idea was simple: everything you want to remember in one place, searchable in seconds. For more than a decade he kept everything there, from research ideas to receipts.
In 2020 Evernote shipped a major rewrite of its clients under the banner "uniting the Evernote apps". For Johan, daily use got slower and heavier after the switch. In 2022 the company was sold to Italy's Bending Spoons, which closed the US office and kept a smaller development team in Italy. In the years after the sale the app gained features, including AI integration. What Johan wanted was the opposite: for it to feel like 2009 again.
So began the search for a replacement, and it came with one non-negotiable requirement. Notes collected over seventeen years must be exportable in their original format, with nothing lost on the way. Apple Notes failed exactly there: export requires third-party services, and the results rarely match what you see in the app. Bear, OneNote, Joplin and UpNote all got honest attempts. Each was missing some of the efficiency of the original Evernote client.
In the end only one option remained. He would have to write the app himself.
02
The day it became possible
Johan has worked agentically since the summer of 2024, when Claude Sonnet 3.5 made it practical to let an AI model write the code. Two Obsidian plugins came out of that period: Featured Image, with over 35,000 downloads, and Pixel Perfect Image, with over 20,000. Both were built with Sonnet in Cursor, and both taught the same lesson. Small, well-scoped tools worked. A complex application did not. The models lost the plot long before the architecture was in place.
On May 22, 2025, Anthropic released Claude Opus 4 and made Claude Code generally available the same day. Johan started building that afternoon.
Obsidian was the obvious foundation. It is one of the most widely used note-taking tools in the world, and every note is a plain markdown file on the user's own disk. The export requirement that had eliminated every other candidate is solved by design, because there is nothing to export your way out of. What was missing was the browsing itself: a visual notes browser. The plugin was named Notebook Navigator.
The first weeks were uneven. Early versions worked but were rough and unoptimized, and plenty was rewritten more than once. The difference from 2024 was that it kept moving forward. Opus 4 could hold a real application architecture together: React for the interface, virtualized lists that only render what is on screen so even large archives scroll without stuttering, and a cache in the browser's IndexedDB database so metadata for tens of thousands of files loads quickly. After two weeks on Johan's own machine, the public repo was created on June 6. The first version was tagged on June 8, and on June 9 the plugin was submitted for review to Obsidian's directory. 3,689 commits have landed since.
03
The app that was missing
Out of the box, Obsidian shows a vault as a file tree: a narrow panel of file names, and that is it. This is a deliberate design choice, the core stays minimal and the rest is left to plugins. But for anyone arriving from Apple Notes or Evernote, the first meeting is a cold shower. No previews, no thumbnails, no dates. Just names.
Notebook Navigator turns that same panel into something anyone coming from Apple Notes, Bear or Evernote recognizes instantly. On the left, a tree of folders and tags. Next to it, a file list with title, text preview, date and thumbnail. Then the open note.
Out of the box
With Notebook Navigator
The list does the heavy lifting. Every note shows its first lines of text and a thumbnail of its first image, whether that image sits in the note, in a PDF, in an SVG or behind a YouTube link. Notes can be shown from all subfolders at once, grouped by date, and pinned to the top. Folders and tags take custom colors and icons. If you live in tags rather than folders, the tag tree can be your primary view, and if you write long-form you can track word counts against targets.
Then there is everything a screenshot cannot show: full keyboard navigation, a built-in calendar for daily notes, support for 21 languages, and a public API for other plugin developers to build on. The whole interface is also tuned for mobile, with swipe gestures and layouts of its own for phones and tablets.
For anyone who has dismissed Obsidian as a tool for technical people, this is the bridge. It looks and works like a regular notes app, while every note stays a plain file you own. The full feature list lives at notebooknavigator.com.
04
The launch on Reddit
On June 9, 2025, three days after the first commit in the repo, Johan presented the plugin on r/ObsidianMD under the title "I missed Apple Notes, so I created it as an Obsidian plugin". The post collected over 1,100 points and 264 comments, and the plugin had not even been approved into the directory yet.
Obsidian's review queue took the whole summer. The plugin kept growing in the meantime, and on September 15, 2025, it shipped in the official directory. The launch post reached 2,166 points and 372 comments in a community of over 340,000 members. One user summed up why: a single plugin had replaced eight others they had previously stitched together.
| Date | Reddit post | Result |
|---|---|---|
| Jun 9, 2025 | "I missed Apple Notes..." | 1,100+ points, before approval |
| Sep 15, 2025 | "Notebook Navigator is now available!" | 2,166 points, 372 comments |
| Dec 29, 2025 | "Notebook Navigator 2.0 is out now!" | 1,200+ points |
| May 6, 2026 | "A big thank you to the Obsidian community!" | 500,000 downloads passed |
Its users range from students to founders of some of the world's largest tech companies. One of the messages that arrived:
My name is Steve Chen. I was the CTO and one of the co-founders of YouTube. I love what you've built with Notebook Navigator!
Today Notebook Navigator ranks first in popularity among all plugins in Obsidian's directory, at close to 735,000 downloads as this is written.
05
The model relay
That one person can build, maintain and keep improving a product of this size comes down to how the work is run. Johan does not write the code, he runs the work: sets direction, reviews, checks quality and ships releases. The code itself is written by whichever frontier model is suited to the task at hand. Over fourteen months, that has meant three different models.
Claude Opus 4 built the platform. From May 22, 2025, and through the summer, Opus 4 in Claude Code laid the foundation: the architecture, the two-pane interface, the tag tree, the cache. 538 commits landed in June alone. In late July it hit a wall. The codebase had grown past what the model could hold in its head, just as Anthropic tightened how much context Claude Code could use. New features started breaking other parts of the code, and progress stalled.
GPT-5 and Codex took the baton. OpenAI released GPT-5 in August 2025, and by the end of that month the GPT-5 series in Codex had taken over as Johan's daily driver. It stayed that way for ten months, and feature work flowed: the directory launch, 2.0 with automatic thumbnails, 3.0, the calendar, the API. The limitation was context memory. Improvements that required the model to see large parts of the codebase at once, like sweeping performance work, remained out of reach.
Anthropic Fable 5 got to pay down the performance debt. Three weeks ago Johan switched primary model again, and everything in releases 3.2.0 through 3.2.3 is written by Fable 5. Three weeks produced four releases.
The models also review each other. Ahead of the performance series, Johan commissioned two independent platform reviews of the entire codebase, one from Codex and one from Fable 5, then had them reconciled claim by claim against a pinned revision of the code. Of 296 individual observations, 55 survived validation and became the backlog for the performance work. The ones that fell were archived together with the evidence against them, so the same wrong idea does not resurface in the next review. Letting AI review AI, always with a different model than the one that wrote the code, is a fixed part of the method, in this project exactly as in our client work.
06
Three weeks with Fable 5
A plugin that loads tens of thousands of notes lives or dies by its performance. After a year of fast feature development there was a debt to pay, and that is precisely what the four latest releases do. The end result first: on Johan's own iPhone, with a 6,000-note vault, the plugin now cold-starts in roughly 100 milliseconds.
3.2.0, June 21: startup is rebuilt from the ground up. Instead of loading all feature code when Obsidian opens, code loads the first time it is needed: commands when you run a command, the settings screen when you open it, the emoji database when you search for emoji, icon packs only if you have enabled them. For many users startup became close to ten times faster.
3.2.1, June 29: the typing path gets cleaned up. Previously, every keystroke in an open note could trigger background work, like previews being recomputed for no reason. Now that work only runs when actually needed, and drag and drop uses the browser's native drag images instead of a JavaScript element chasing the pointer.
3.2.3, July 9: everyday use gets the same treatment end to end. Rendering while scrolling becomes 15 to 25 percent more efficient. Switching folders builds the file list about 60 percent faster. Warm starts read cached storage about five times faster. Moving folders writes to the database in batches instead of file by file.
The numbers are not plucked from the air. The repo contains PerfBench, a synthetic benchmark vault with 1,500 generated notes that improvements are measured against, and the plugin is built for archives beyond 100,000 notes.
07
Quality across 270,000 lines
The most common objection to AI-written code is that it will not hold up over time. Notebook Navigator is the counterexample, and the recipe is old-fashioned engineering discipline rather than magic.
| 218,000 | lines of TypeScript and React in src/, 51,000 of them translations into 21 languages |
| 42,000 | lines of tests in Vitest |
| 10,000 | lines of CSS with documented theme variables |
| 8 | architecture documents covering storage, rendering, scrolling, metadata and the API |
| 21 | languages, including Arabic and Farsi with right-to-left layout |
| 180 | releases since June 2025 |
Every change passes a battery of automated checks that stop the release at the first error or warning: TypeScript, ESLint with Obsidian's official rule set, Prettier, the test suite and a production build. Security is watched by CodeQL and the OpenSSF Scorecard, with public results. Release notes are structured data in the code, categorized as new, improved, changed or fixed, and shown to users on update.
The documentation is written for two kinds of readers. The architecture documents explain the system to humans. The repo's AI instructions tell the models where the truth lives: which files own which behavior, how the build is verified, and which rules must never be broken. When a new model takes the baton, that file is what makes the handover cheap.
08
The curve that refuses to flatten
New plugins tend to follow the same arc: a spike at launch, then a long fade. Notebook Navigator's curve does the opposite.
In the autumn of 2025 the pace was around 50,000 downloads a month. In May 2026 it was 120,000, and the curve has kept climbing since. Ten months after launch, the plugin is downloaded more per month than ever before, and that is how it reached first place in the directory against plugins with a five-year head start.
There is no marketing budget behind that. There is a new release every second or third day, a developer who answers in the forums the same day, and a product that gets noticeably better every week. The cadence is possible because the cost per improvement is a fraction of the traditional one. That is the same equation that makes agentic development interesting for anyone maintaining a large codebase.
09
What it means for you
Notebook Navigator is our proof, in production for over a year, that agentic development works at scale: hundreds of thousands of real users, a codebase past a quarter of a million lines, millisecond-level performance requirements, and a maintenance responsibility that never ends.
The most transferable part is the most recent one. When Fable 5 paid down the performance debt, it did so across 270,000 lines of code it had not written itself. That is exactly the situation inside an existing codebase: someone else's architecture, someone else's decisions, and a demand for improvements without breaking anything.
The method behind it is the one we bring to our clients. Clear scope and acceptance criteria. Test suites and builds that refuse to let warnings through. AI models writing the code and other AI models reviewing it. Releases at a high cadence, so every improvement reaches users while it is still fresh. And a human who sets the direction and owns every decision.
The only difference on your side is who owns the result. Notebook Navigator belongs to Johan. What we build together with you, in your teams and on your infrastructure, belongs to you.
Want to see the method in practice?
The same method that built the top-ranked Obsidian plugin builds production systems for our clients: clear direction, AI agents writing the code, and strict quality gates. Get in touch and we will show you what it looks like in your codebase, under your security requirements.