2
13 Comments

I got tired of my Obsidian vault rotting, so I built an AI to maintain it. (Open-sourcing my LLM-Wiki)

At some point, I got incredibly frustrated with my own notes.

I had Obsidian vaults for five different ventures and client projects. Each one started strong and degraded within weeks. Notes became orphans. Cross-links rotted. The index was always out of date. I'd search for something I knew I'd written and find nothing—or three conflicting versions.

The standard productivity advice is "build a better system." I tried that. The real problem is that maintaining a knowledge base is administrative work that doesn't get done when you're busy building—which is all the time when you're running multiple things.

So I asked a different question: what if the LLM maintained it?

I recently saw Andrej Karpathy post a gist about the "LLM-Wiki" pattern—the idea of using a local AI to actively compile and manage a plain-text wiki. It was a brilliant baseline, so I took his method, integrated my own multi-venture workflows, and built a personal operating system out of it.

This isn't a chatbot that answers questions from outside your notes. It’s an agent that works inside the vault—ingesting sources, synthesising concept pages, maintaining cross-links, and running health checks. It operates via a plain-English schema that tells it exactly how the folder structure works and what to do with each workflow.

The result is LLM-Wiki. I've been using it locally as my daily driver, and it's the first setup that has actually stayed useful.

What it does

You give Claude Code a CLAUDE.md file at the vault root. It defines the folder structure, six core workflows, and a set of conventions (frontmatter, wikilinks, log format). When you open the terminal and run claude, it reads the schema and becomes the vault's maintainer.

Commands like "process the inbox", "promote this literature note", or "lint the vault" execute structured workflows. It creates literature notes from sources you feed it, synthesises them into permanent concept pages, and keeps an ops log of everything it touches.

Everything lives in plain Markdown you own. No proprietary format. No database. No sync subscription.

What I open-sourced today

The CLAUDE.md operating schema (the main thing — the pattern lives here)

9 note templates

6 worked examples (reading a book, watching a video, studying for a certification, ingesting a PDF, taking a course, reading tool docs)

A demo vault with a Deep Work concept page and a Cal Newport entity

Pre-configured .obsidian/ with Dataview + Templater registered

An optional Notion MCP sync skill for pushing actions out of the vault

It's MIT licensed, completely free, and there's no sign-up.

Honest limitations

It requires Claude Code (which runs on API credits, so it's not entirely free). It benefits from occasional human curation—it's a tool that amplifies your thinking, not a replacement for it. And it takes a session or two to get familiar with the workflow conventions.

Where this is going

I'm building other verticals on top of this open engine. The first is Founder OS—a calibrated, self-maintaining decision journal and operating system for founders (more details at founder-os.ozanyildirim.me). The engine stays open; the domain-specific skill packs and hosted layers are where the business goes.

I would love feedback from anyone who's tried to maintain a structured knowledge base over time. I'm curious to hear what broke for you and whether this pattern would solve it.

→ Vault Details: llm-wiki.ozanyildirim.me
→ GitHub: github.com/tyrozz/llm-wiki
→ The Karpathy gist that inspired the base architecture: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f

on May 30, 2026
  1. 2

    The strongest part is that the agent works inside plain Markdown instead of becoming another knowledge silo. For founder workflows, I would make the first promised outcome very specific: keep the decision log, source notes, and current index in sync for one project.

    That is the wedge I would trust before a broader "personal OS" promise. If it reliably prevents one vault from rotting for 30 days, the expansion path is obvious.

    1. 1

      This is a brilliant piece of product positioning feedback, thank you.
      You completely nailed the onboarding friction problem. Asking a busy founder to migrate their entire life into a 'Personal OS' on day one is a massive, unrealistic ask.
      Your idea of the '30-day anti-rot wedge' for a single project is so much sharper. Pointing the AI at just one active client or codebase to automatically maintain the decision log (⁠log.md⁠), synthesize the source notes (⁠1-Literature Notes/⁠), and keep the index strictly synced proves the value with zero migration risk.
      Really appreciate you taking the time to drop this insight.

  2. 1

    I've gone through the exact same decay cycle with my own vaults. Start organized, lose it within two weeks. The lint workflow is the smartest part of this, because almost nobody builds for upkeep, everyone builds for capture and then walks away. One thing I keep running into though, is that the capture step itself is still surprisingly high friction. Opening the vault, finding the right note, typing out a half-formed thought, that's enough friction that a lot of ideas just evaporate. I built DictaFlow (dictaflow.io) to solve that part. Hold a hotkey, speak, and it types wherever your cursor is. The LLM wiki handles the organization from there. Voice capture plus AI maintenance feels like the full loop for a knowledge system that actually survives past week two.

  3. 1

    The plain Markdown choice is the part I’d trust most here. If the agent can improve the vault without forcing a migration, the adoption friction drops a lot.

    I’d be curious what the first “must not break” rule is: preserve original intent, avoid bad merges, or make every change easy to review?

    1. 1

      That's exactly why every note in the system has a ⁠## My Take⁠ heading at the bottom. The strictest rule in the ⁠CLAUDE.md⁠ schema is that the AI can update, synthesize, and merge everything above that line, but it is completely forbidden from touching a single word underneath it. Your personal context, messy thoughts, and original intent have to survive every automated edit.

  4. 1

    The part I would stress-test is the "health check" loop, because that's where this can become more than better capture. A useful guardrail might be to make every maintenance run output a tiny changelog with three buckets: safe cleanup, suggested merges, and decisions needing human review. That keeps the agent doing the boring upkeep while preserving intent on the knowledge-shaping calls.

    For founders, I'd also consider a weekly "what changed in my operating picture?" digest as the sharpest habit hook. If it can surface stale assumptions, open decisions, and contradicted notes before planning starts, it becomes an ops system instead of another note workflow.

    1. 1

      Great point. Right now, the ⁠lint⁠ workflow just flatly flags things like orphans, broken links, and contradictions. But because the system runs on plain English commands, you can actually just modify your prompt when linting to ask it to group the output into those exact buckets. 
      The weekly digest idea is a great one too. Since the system already tracks every single AI operation in an append-only ⁠log.md⁠ file, using that to generate a 'what changed in my operating picture' summary before Monday planning sounds like a perfect habit to consider exploring.

  5. 1

    This hits close to home. I have the exact same pattern with my own knowledge files. Start organized, two weeks later everything is a mess of orphaned notes and broken cross-references. The maintenance overhead is the real killer, not the initial capture.

    What I find interesting about your approach is the "lint the vault" workflow. That's the part most knowledge tools ignore. They focus on input (capture, clip, save) but leave the upkeep entirely to you. Having an agent that can run health checks and surface decay before it compounds is genuinely useful.

    One question: how do you handle cases where the agent's synthesis disagrees with your original intent? Like when it merges two concept notes that you actually wanted to keep separate. Curious if you have a guardrail for that or if you just catch it during review.

    Also smart to keep the engine open and monetize the domain-specific packs. Founder OS sounds like the right wedge because founders have the most acute version of this problem (decisions scattered across docs, chats, emails, notes) and the highest willingness to pay for a fix.

    1. 1

      Glad the 'lint' workflow resonated. You're completely right—everyone builds tools for capture, but almost no one builds for upkeep.

      Because the system operates on local Markdown files and records every single change it makes in the append-only ⁠log.md⁠, it's very easy to see exactly what it merged. If it makes a bad call, you just revert the file using Obsidian's native file recovery or standard Git.

  6. 1

    This is a strong pattern because the pain is not “note-taking.” It is knowledge decay. Most people can capture information, but very few systems keep the structure alive after the first week.

    The Founder OS direction is more interesting than the open-source vault itself, because that turns the engine from a useful personal workflow into a decision and operating layer for founders. If you push that angle, I’d make the positioning less about “LLM-Wiki” and more about a self-maintaining workspace that keeps decisions, research, notes, and operating context from drifting apart.

    The naming is worth pressure-testing early though. LLM-Wiki is clear for the open-source engine, but it may box the bigger product into a technical/wiki frame when the real business layer sounds broader: founder workflow, decision memory, operating context, and AI-maintained knowledge infrastructure.

    Xevoa .com would fit that direction well because it feels more like an AI workspace or operating layer than a wiki/tool name. If Founder OS becomes a hosted product with skill packs, workflows, and paid verticals, the brand shell probably needs to carry more than the current LLM-Wiki frame.

    I’d separate the open engine name from the commercial product name before too many docs, examples, and early users lock onto the wrong category.

    1. 1

      Thanks for your feedback. I am currently improving the founder version but it still will be similar setup: Markdown files that Claude Code works on them with the user, and there is no hosted version.

      Founder OS will be on top of the current llm wiki, which will make it easy to adopt.

      1. 1

        That makes sense.

        If LLM-Wiki stays the open-source engine, the name is clear enough. It tells technical users exactly what the repo does.

        The bigger naming question is really around Founder OS.

        Even if there is no hosted product, the moment Founder OS becomes a packaged layer on top of LLM-Wiki, it starts needing a different kind of trust: examples, docs, adoption path, paid packs, founder workflows, and repeatable use cases.

        That is where I’d be careful. LLM-Wiki can remain the engine name, but the commercial/adoption layer probably should not inherit too much of the “wiki” frame if the real promise is operating context and decision memory for founders.

        That is why Xevoa still feels like a stronger shell for the productized layer. It gives you room to keep the markdown/Claude Code setup underneath, while making the founder-facing system feel more like an AI workspace or operating layer than a technical repo.

        So I would pressure-test one question now: is Founder OS just a template on top of LLM-Wiki, or is it meant to become the packaged product people remember and pay for?

        1. 1

          It will be on top of LLM-Wiki. I don’t know about the tool you mentioned, not so interested in that at this point, as I want to provide the foundations and the users will modify and grow their own wiki or os based on their needs.

          1. 1

            This comment was deleted a month ago.

Trending on Indie Hackers
I Was Picking the Wrong SaaS Tools for Two Years. Here's the Mistake I Finally Figured Out. User Avatar 120 comments Drop your landing page URL. I'll use Ferguson to tell you why visitors might be leaving User Avatar 102 comments Ferguson is LIVE on ProductHunt today... so I audited their homepage first! User Avatar 28 comments Why Remote Teams Stop Talking (And Don't Even Notice It) User Avatar 24 comments I sold $6,773 in 2 weeks, with almost no existing community. User Avatar 23 comments Built a local-first Amazon profit-by-SKU + QuickBooks/Xero journal tool. Looking for founding users. User Avatar 20 comments