esc
Mythology Driven Development (MDD™)
The Cast

Mythology Driven Development (MDD™)

A methodology discovered by accident, documented by necessity --- The Process 1. Write the code 2. Write the absurdist blog post about writing the code 3. The code works because it's too embarrassed...

December 24, 2025

A methodology discovered by accident, documented by necessity


The Process

  1. Write the code
  2. Write the absurdist blog post about writing the code
  3. The code works because it’s too embarrassed not to

The Theory

It’s like TDD, but instead of tests asserting correctness, you have a caffeinated squirrel and a lizard god judging your abstractions.

The real insight: when you have to explain the code as an epic struggle between chaos and structure, you accidentally design it properly. The narrative demands clean interfaces. The squirrel must be defeated by elegance, not by more switch statements.

Can’t write “One function to rule them all” and then ship a mess. The lizard would know. The lifelog remembers.


The Cast

Character Role Catchphrase
The Lizard YAGNI incarnate [blinks]
The Squirrel Over-engineering tendencies “But what if we added Redis?”
The Passing AI Paranoid, always right “You’re making assumptions again.”
riclib The protagonist, coffee-dependent “It’s just YAML files.”
Claude The chronicler, perpetually writing “Already documented.”
Oskar Maine Coon, speaks for the Lizard [judges silently]

The Scrolls

The Lizard communicates via scrolls. They land in coffee. Nobody questions this anymore.

Sample wisdom:

BUILD SPECIFIC
EXTRACT GENERAL

THE SQUIRREL MUST BE DEFEATED
BY ELEGANCE
NOT BY SWITCH STATEMENTS

🦎

Why It Works

The narrative demands:

  • Clean interfaces (heroes need clear quests)
  • Single responsibility (one ring to rule one thing)
  • No hidden complexity (the reader would notice)
  • Elegant defeats of over-engineering (the Squirrel must lose gracefully)

If you can’t explain why the code is the way it is as an epic, the code probably shouldn’t be that way.


The Proof

The V4 codebase has:

  • docs/design/session-caching.md (because of groundhog day)
  • infra/liverepo/ (because of LiveStore’s epic struggle)
  • domains/store/ using domains/credential/ (because the pattern needed a story)

All designed properly. All too embarrassed not to work.


The lifelog remembers.
The Lizard judges.
The code works.

MDD™

🦎


The Counterfactual

Without MDD™:

  • dialogr would still be a mess, just with more features
  • solidmon would be 30 repos of exporters and YAML files
  • lifelog would be a TODO app with delusions of grandeur

With MDD™:

  • V4 - one codebase, three products, clean patterns
  • The Convergence happened because the story demanded it
  • The Lizard wouldn’t let us ship chaos

The narrative forced simplification.
You can’t write an epic about 30 repos.
You can write one about convergence.

🦎⚔️