ApphuntyPractical guides to app discovery and reviews
Productivity & Workflow

Escaping the SaaS Trap: Building a Zettelkasten with Markdown

A technical, step-by-step guide to constructing a Zettelkasten note-taking system using plain text files that guarantees data portability and eliminates subscription risks.

Juliana Costa
Juliana CostaProductivity Lead7 min read
Editorial image illustrating Escaping the SaaS Trap: Building a Zettelkasten with Markdown

The email arrived on a Tuesday morning in February. A beloved knowledge management app, one I had used for three years to store hundreds of research notes, announced it was pivoting to enterprise-only pricing. My "Second Brain," a digital repository I had painstakingly curated, was effectively held hostage. I could export to PDF or HTML—formats terrible for future retrieval—or pay a monthly fee that exceeded my grocery budget. That was the day I deleted the account and moved my entire life to Markdown.

If you are serious about productivity, you cannot afford to build your intellectual legacy on rented land. Proprietary databases are black boxes; when the company shuts down or changes the API, your data becomes digital sludge. Markdown, however, is plain text. It is lightweight, future-proof, and readable by any computer built in the last forty years.

Here is how to build a Zettelkasten—a slip-box of interconnected ideas—using nothing but Markdown files, a folder structure, and a sync service. This system offers efficiency over native notes by prioritizing connection over containment, and it beats proprietary alternatives because you own the files, not the vendor.

1. Define Your Directory Architecture

Before opening a text editor, you must establish where your ideas live. The efficiency of this system comes from its predictability. Do not rely on smart folders or search alone; build a rigid hierarchy that handles the flow of information from "chaos" to "clarity."

Open your file manager (Finder on macOS, Explorer on Windows) and create a master folder named Vault. Inside this directory, create exactly three subfolders:

  • 00 Inbox: This is your capture point. Every fleeting thought, book highlight, or meeting note goes here first, unprocessed.
  • 10 Permanent: These are your atomic notes. Each file in this folder contains a single idea, written in your own words, linked to other notes.
  • 20 Reference: This is for material you did not create. PDFs, screenshots, or clippings from the web live here. You will link to these files from your Permanent notes, but you do not edit them.

Photographic detail related to Escaping the SaaS Trap: Building a Zettelkasten with Markdown

Why use numerical prefixes? 00, 10, and 20 ensure these folders always sort to the top of your list, keeping your workspace clean regardless of how many files accumulate. This structure prevents the "digital junk drawer" effect that plagues Apple Notes or Evernote.

2. Establish a Unique Identifier Protocol

The engine of a Zettelkasten is the link. To link notes effectively, each file needs a unique name that will never change. If you name a file "Marketing Ideas," you will eventually create another file with the same name, causing conflicts or broken links. You need a system that guarantees uniqueness forever.

We use a timestamp-based identifier for every single note in the Permanent folder.

Create a new Markdown file in 10 Permanent. Name the file using the following format: YYYYMMDDHHMM.md.

For example, if today is March 26, 2026, and the time is 14:05, you name the file 202603261405.md.

Why this specific string?

  • Sorting: When sorted alphabetically, your notes are automatically arranged chronologically.
  • Uniqueness: Unless you write two notes in the same minute, the ID is unique.
  • Search: You can type the date to instantly retrieve the note.

Inside the file, the very first line must be the ID as an H1 header, followed by the title of your idea.

# 202603261405 Marketing Ideas for Q3

This separation of ID and title allows you to change the title of the idea without breaking the filename or the links pointing to it.

3. Master the Syntax of Connection

Now that the infrastructure is ready, we need the method to connect ideas. In Markdown, we use [[Wikilinks]]. Most modern Markdown editors support this syntax out of the box. If you type [[ followed by another note's ID or title, the editor creates a hyperlink.

However, connection requires discipline. When you write a Permanent note, you must look for existing notes that relate to it.

  1. Open the file 202603261405.md.
  2. Write your core idea. For example: "Content marketing relies on consistency rather than virality."
  3. Ask yourself: "Does this relate to anything I already know?"
  4. If you have a note about 202601101100 Social Media Strategy, type [[202601101100]] at the bottom of your new file.

This action creates a "Backlink." If you open the Social Media Strategy note later, it will show a list of incoming links from the Marketing Ideas note. Over time, this web of links becomes a knowledge graph that reveals connections you would have missed in a linear document. This is where the system beats a standard Word doc or the "one app to rule them all" approach; the value emerges from the relationship between notes, not the notes themselves.

4. Select a Minimalist Editor and Sync Method

You do not need expensive software. You need a text editor that recognizes Markdown files and renders them nicely.

  • macOS/iOS: I recommend Obsidian (free for personal use) or iA Writer. Obsidian is powerful for graph views, while iA Writer is unparalleled for focus.
  • Windows/Linux: Obsidian is the standard here, though Typora is excellent if you prefer a What-You-See-Is-What-You-Get interface.

The critical part of this step is the sync method. Do not rely on an app's proprietary cloud sync. You must use a generic file storage solution so your data is accessible even if you switch editors.

The Setup:

  1. Move your Vault folder into iCloud Drive, Dropbox, or Google Drive.
  2. Install the sync client on all your devices (phone, tablet, laptop).
  3. Point your mobile editor (like Obsidian or Drafts) to that specific folder in the cloud storage.

Now, when you save a note on your phone during a commute, it is a plain text file sitting in your cloud storage. When you open your laptop, the file is already there, updated. No proprietary sync servers, no vendor lock-in. If you decide to delete Obsidian tomorrow, you can open those exact same files in VS Code, Sublime Text, or even Notepad.

5. The Capture Workflow on Mobile

The hardest part of a plain text system is friction. Native apps are convenient because they are always one tap away. To match this efficiency, you must optimize your mobile capture.

On iOS, I use Drafts or the Shortcuts app to append text to my Inbox folder. I created a custom shortcut that appends text to a file named Inbox.md inside my 00 Inbox directory.

  1. Activate the shortcut (voice or tap).
  2. Dictate or type the thought.
  3. The shortcut automatically appends a timestamp and the text to Inbox.md.

This process takes less than five seconds. Friction is the enemy of consistency, and by using system-level automation, you ensure you capture ideas before they evaporate.

6. Processing the Inbox

A capture is useless if it is never processed. You need a ritual—usually daily or weekly—to move items from 00 Inbox to 10 Permanent.

Open Inbox.md. Read through the items.

  • Discard: If the idea is no longer relevant, delete it.
  • Reference: If it is a recipe or a receipt, move it to 20 Reference (or keep it in a separate "Reference" folder).
  • Atomic Note: If it is an idea worth keeping, create a new file in 10 Permanent with the timestamp ID YYYYMMDDHHMM.md.
  • Link: Check your existing Permanent notes and create the necessary [[Links]].

Once processed, clear the Inbox.md file. This keeps your system lean and operational.

The Trade-off of Ownership

Moving to a plain text, Markdown-based Zettelkasten is not for everyone. It requires a higher initial cognitive load than apps like Notion or Roam Research. You have to think about file naming, directory structure, and linking syntax. You are the IT manager of your own brain.

However, the payoff is permanence. When you build on open standards, your notes become a cumulative asset rather than a subscription liability. You gain the ability to script your own workflows, grep your files from the command line, and read your notes thirty years from now on hardware that hasn't been invented yet.

The true efficiency gain here is not just in retrieval speed, but in the peace of mind that comes from owning your output. You are no longer storing your mind in someone else's server; you are building a library that belongs to you.

Read next