L.64 / Project Hemsley
● Live Read time: 4 min Internal — share freely

HTML is the new
PDF. Markdown.
Everything.

A short note on why the format you send a thing in matters more than the thing itself, and a workflow shift that's about to take work off your desk.

By Brandon Reed / L64 / Filed under CORTEX field notes
Scroll
§ 01 — The Principle

Markdown is the substrate. HTML is the review surface.

Vault notes, agent files, memory logs — they all stay markdown. Forever. But the moment a human needs to actually read, decide, and respond? That's an HTML moment.

.md / storage layer

Built to last.

Grep-able. Diff-able. Loadable into any AI session. Survives the apocalypse and the next Obsidian update. This is the bedrock — and it never moves.

.html / review layer

Built to be read.

Visual hierarchy. Mockups. Diagrams. Editable interfaces. Sections you actually scroll. The medium humans engage with when the stakes are decision, not storage.

Geometry as argument. Steel speaks louder than ASCII. § Interlude
§ 02 — Why It Beats Markdown

Four reasons, ranked.

01

You actually read it.

A 1,000-line markdown plan gets skimmed or skipped. An HTML plan with sections, cards, mockups, and visual hierarchy gets read. If you stop reading the plan, you stop steering the agent.

The Loop Closes
02

Compute allocation is the job.

An 8-hour agent run = $500 of compute. You're now an allocator, not a typer. The plan is where allocation happens. Unreadable plan = blind spend.

$$$ Per Hour
03

Richer expression. Zero extra cost.

ASCII mockups in markdown are pitiful. HTML mockups, charts, diagrams — same effort for the model, dramatically more communicable for the human reading it.

Free Upgrade
04

Just-in-time micro UIs.

Don't like a section? Don't re-prompt in text. Ask Claude to build a custom editing interface for that one piece. Throwaway by design. Micro-software on top of micro-software.

See Pattern 02 ↓
§ 03 — Pattern 01

Plans as HTML in Claude Code.

Same plan, two formats. Which one would you actually finish reading?

/spec — Feature Plan
Side by side

// PLAN.MD — 847 lines

# Feature Plan: Projects Experience Pivot ## Overview The current /projects page is a single multifamily-only experience. We need to expand this into a multi-audience experience that handles luxury homes, rooftops, and live builds via URL params. ## Requirements - Single page handles 3 audiences - URL params drive hero swap - Preserve SEO from existing routes - Static-export friendly (Astro) - One HTML payload, no hydration overhead ## Implementation Steps 1. Refactor projects/index.astro to accept ?type= param 2. Create HeroSwap component with 4 variants 3. Set up 301 redirects in astro.config 4. ... ## URL Schema - /projects (unfiltered hero) - /projects?type=luxury-home - /projects?type=rooftop - /projects?status=live [continues for 740 more lines...]

// PLAN.HTML — same content, scannable

01 / OVERVIEW
Single page, three audiences.

Multifamily-only → multi-audience via URL params. Luxury, rooftop, live builds.

▢▢▢ HERO SWAP DIAGRAM ▢▢▢
02 / URL SCHEMA
Four routes, one page.

/projects · ?type=luxury-home · ?type=rooftop · ?status=live

▢ COMPONENT TREE ▢
03 / SEO PRESERVATION
301 redirects, zero link equity loss.

Old routes → new param-driven equivalents. Configured in astro.config.

→ REDIRECT MAP →

// The prompt that got you here

"Create an HTML plan file with mockups, code excerpts, and whatever else gives me max context. I trust your judgment on structure."

§ 04 — Pattern 02

Micro-apps for modifications.

A section of the plan is wrong. Don't re-prompt in text. Ask Claude to build the ideal interface for editing it. Try it below — click options, copy the output.

/edit — Proposal Tier Builder
Live

Configure Proposal Options

Throwaway UI
Option 01
Vision
$15,000
SD only
Option 02 — Recommended
Blueprint
$29,000
SD + DD
Option 03
Signature
$49,000
SD + DD + CD
// Copy this back into your plan
selected: Option 02 - Blueprint ($29,000)
  scope: SD + DD
  position: recommended
  status: confirmed

// The prompt that built this

"Create an editable HTML artifact for [this section]. Make a custom UI that helps with structure but gives flexibility. Design the ideal interface for this problem."

§ 05 — Pattern 03

Comment canvas. The review surface itself.

Drop pins. Add notes. Copy the comment thread back as your revision prompt. Hover the pins below.

/review — Annotation Mode
3 comments
Proposal Hook — PRO-1026 Woodbury Haus

You're building a hillside legacy home, not just another lot. The two-rooftop terrace system isn't a perk, it's the spatial argument the architecture is making.

Most LAs would lay out beds and call it a plan. We see your 12,000 SF as a single cinematic gesture: arrival, ascent, vista, retreat.

This proposal lays out three ways we could partner — each builds on the last, none of them dilute the vision.

BR
Brandon · 2m ago
Punch up the "spatial argument" line — too academic. Try "the move the architecture is making."
BR
Brandon · 1m ago
Drop the SF number to the second paragraph. Lead with the cinematic frame, then anchor with the scale.
BR
Brandon · just now
Last line is the close — needs more torque. End on a question the reader can't say no to.
3 comments ·
Build the review interface you actually want — not the one the tool gives you.
— The Stripe principle / via Claire Vo, How I AI
§ 06 — The Decision Tree

When in doubt, ask five questions.

If storage →
Markdown. Always.
If review surface →
HTML. Plan, spec, brainstorm, status update.
If external client →
HTML when visual matters. Export PDF for delivery.
If editing dense data →
Ask for a custom HTML editing UI for that section.
If annotating →
Ask for the canvas + comment version.
§ 07 — Non-Negotiable

These stay markdown. Forever.

The vault is the substrate. The substrate doesn't get an upgrade. If you convert these to HTML, you break grep, diff, and AI loading. Don't.

agents/*.mdAgent definitions
memory/*.mdAppend-only logs
context/*.mdReference material
projects/*.mdProject files
people/*.mdRelationship dossiers
CLAUDE.mdOperating constitution
_index.mdMaster index
LinkedIn draftsTarget = LinkedIn editor
§ 08 — Test-Once Protocol

Don't ceremony this.

One test. Compare review time. Port if faster. Ignore if not. Markdown plans still work for small-scope specs — this isn't a religion.

01

Next Claude Code session, prompt for HTML.

Use: "Create an HTML plan file with mockups, code excerpts, and whatever else gives me max context. I trust your judgment on structure."

02

Time the review experience.

Did you actually read it? Did revision land in fewer cycles than the last markdown spec?

03

Decide and move on.

If faster → port the pattern. No further ceremony. If not → ignore. Done.