Why Markdown Works (And Why Obsidian Misses the Point)

By Jay GriffinΒ Β Β·Β  January 17, 2026
🏷️ Tags:markdownobsidianwritingconstraintsphilosophy

Markdown philosophy: constraints force clarity, syntax serves the parser, not the writer

Why Markdown Works (And Why Obsidian Misses the Point)

Date: January 17, 2026
Status: Markdown Philosophy Manifesto


TL;DR

Markdown is NOT good because of the syntax.

Markdown is good because:

The ## and **bold** syntax exists for the PARSER, not for YOU.


What Makes Markdown Actually Valuable

1. Constraints = Clarity

When you only have:

You CAN'T over-design.

You can't add 17 different text styles. You can't make everything a different color. You can't create visual chaos.

The limited element set forces you to write clearly because the medium doesn't let you do anything else.

This is the ACTUAL power of markdown. Not the syntax.

2. Easy to Parse = Portable

Your content isn't locked into:

Any tool can read it. Any system can transform it. Any script can process it.

Portability is freedom.

3. Plain Text = Future-Proof

Plain text is the most durable format in computing.


The Syntax is Implementation Detail

.md
## This is a header
**This is bold**
[This is a link](https://example.com)

This syntax exists for the MACHINE to understand structure.

It does NOT exist to be beautiful for humans to stare at while writing.

When I'm writing, I don't want to see ##. I want to see a header.
When I'm writing, I don't see **bold**. I want to see bold text.

The syntax is the FILE FORMAT, not the EDITING EXPERIENCE.


Where Obsidian Gets It Wrong

Obsidian Obsesses over the wrong part of markdown.

❌ Problem 1: Syntax Visibility

Obsidian is proud of showing you:

They market this as a FEATURE: "See the markdown syntax while you edit!"

No. That's visual noise.

I don't care about seeing the markup. I care about seeing the CONTENT.

The syntax is for the parser, not for my eyeballs.

❌ Problem 2: The Vault System

Why do I need a "vault"? Why can't I just:

Just let me edit markdown files. That's it.

The vault system is artificial lock-in. It creates friction where none needs to exist.

What Obsidian Should Be

.txt
Perfect Obsidian:
βœ… WYSIWYG editing (no syntax noise)
βœ… Works on any directory
βœ… Saves to plain .md files
βœ… Good search/linking
βœ… Fast

Actual Obsidian:
❌ Shows markdown syntax while editing
❌ Requires vault system
βœ… Plain .md files (they got this right)
βœ… Good search/linking
βœ… Fast

They're 60% there but ruin it by worshipping syntax visibility.


Where Notion Gets It (Mostly) Right

βœ… WYSIWYG Editing

When you type in Notion:

You edit what you see. The syntax is hidden.

This is correct. This is how it should work.

βœ… Constraint System

Notion also has a limited set of blocks:

It's basically markdown's constraint system with a better editing experience.

βœ… Clean Writing Experience

No visual noise. No syntax to remember. Just write.

The structure is enforced by the block system, not by you typing special characters.


Where Notion Gets It Wrong

❌ Not Plain Text

Notion stores everything in a proprietary database.

This ruins the portability benefit of markdown.

❌ Decoupled from Projects

Notion pages live in Notion, not in your repo.

So your project docs drift away from your actual code. They get stale. They get forgotten.

Documentation should live WITH the code it describes.


The Ideal System

.txt
What We Actually Want:
βœ… WYSIWYG editing (like Notion)
βœ… Plain .md file storage (like markdown)
βœ… Lives in the repo (not external)
βœ… Version controlled (Git)
βœ… Portable (any tool can read it)
βœ… No vault system (just files)
βœ… No syntax noise (hidden from editor)

Notion's UX + Markdown's storage format + In-repo location.

This doesn't exist yet as a good tool, so we're building it.


The Pattern: People Obsess Over the Wrong Thing

This is the same mistake as Tailwind.

Tailwind

Markdown

Don't confuse the implementation detail with the actual value proposition.


Our Solution

Building a WYSIWYG markdown editor into the personal site:

.txt
/dev/editor route:
βœ… WYSIWYG editing (no syntax visible)
βœ… Edits files in /source/raw/assets/
βœ… Live preview with actual site components
βœ… Saves directly to .md files
βœ… No vault, just files in the repo
βœ… Version controlled (Git)
βœ… Integrated with existing content system

Obsidian's UX without the syntax noise. Notion's editing without the lock-in.


Conclusion

Markdown is good because:

  1. Constraints force clarity
  2. Easy to parse = portable
  3. Plain text = future-proof

Markdown is NOT good because ## looks cool.

Obsidian worships syntax. Wrong.
Notion hides syntax but locks you in. Wrong.

The right answer: WYSIWYG editing + plain markdown storage + in-repo location.

We're building it.


Final Take

"The syntax exists for the PARSER, not for the HUMAN."

Stop making people stare at ## and **bold** while they write.

Give them clean WYSIWYG editing.
Store it as markdown files.
Keep it portable and future-proof.

That's how you respect both the writer AND the format.


P.S. This is the same philosophy as the Tailwind rant: Don't confuse the wrapper (syntax/classes) with the actual value (constraints/tokens). Extract the value, discard the baggage.