James L. Cowan Jr.

Product engineer

James L. Cowan Jr.

Founder of Kleto, a product engineering agency for founders.

A working library of essays and narrated articles on architecture, systems, and shipping software that holds up after handoff.

21 articles1 narrated

Listen

Web Components + HTMX: A Lean Architecture for Content Sites That Ship 6 min · architecture architecture web-components

Architecture

Web Components + HTMX: A Lean Architecture for Content Sites That Ship 6 min · architecture
Why I Skipped the CMS 6 min · architecture
Documentation That Scales: Constitution, Contracts, and Runbooks 3 min · architecture
Fixing Navigation and Analytics: When Your Data Lies About User Behavior 3 min · architecture
HAL: Build-Time Link Rewriting That Makes Navigation Feel Instant 3 min · architecture
The Static Site Playbook: Shipping a Content Product on a Near-Zero Budget 4 min · architecture
How This Site Works: Architecture for a One-Person Team 6 min · architecture
Less JavaScript, More Leverage: Why I Ship With a 35KB Budget 4 min · architecture

HTMX

Web Components + HTMX: A Lean Architecture for Content Sites That Ship 6 min · htmx
Fixing Navigation and Analytics: When Your Data Lies About User Behavior 3 min · htmx
HAL: Cutting 100-300KB of JavaScript by Moving Routing to Build Time 3 min · htmx
HAL: Build-Time Link Rewriting That Makes Navigation Feel Instant 3 min · htmx
Mobile-First Layout That Ships: How PrimaryLayout Solves Real UX Problems 4 min · htmx
Progressive Enhancement with HTMX: Ship Fast, Degrade Gracefully 3 min · htmx

Performance

Web Components + HTMX: A Lean Architecture for Content Sites That Ship 6 min · performance
HAL: Cutting 100-300KB of JavaScript by Moving Routing to Build Time 3 min · performance
HAL: Build-Time Link Rewriting That Makes Navigation Feel Instant 3 min · performance
The Static Site Playbook: Shipping a Content Product on a Near-Zero Budget 4 min · performance
How This Site Works: Architecture for a One-Person Team 6 min · performance
Less JavaScript, More Leverage: Why I Ship With a 35KB Budget 4 min · performance
Static Site Generation: The Business Case for Pre-Rendered HTML 5 min · performance

Tools

HAL: Cutting 100-300KB of JavaScript by Moving Routing to Build Time 3 min · jamstack
The Static Site Playbook: Shipping a Content Product on a Near-Zero Budget 4 min · jamstack
How This Site Works: Architecture for a One-Person Team 6 min · jamstack
Static Site Generation: The Business Case for Pre-Rendered HTML 5 min · jamstack

AI

Anthropic Trained Its Replacement 6 min · ai
Pydantic: The Open Source Layer Quietly Running the AI Economy 5 min · ai
Karpathy Was Wrong: OpenClaw Still Outruns Its 5 Real Alternatives 4 min · ai
OpenClaw 2026.2.23: The Agent Browser Upgrade 2 min · ai
OpenClaw: What It Is and How to Get the Most Out of It 3 min · ai

Writing

Search
Anthropic Trained Its Replacement March 26, 2026 · 6 min read ai startups founders
Pydantic: The Open Source Layer Quietly Running the AI Economy March 2, 2026 · 5 min read ai open-source python
Karpathy Was Wrong: OpenClaw Still Outruns Its 5 Real Alternatives March 11, 2026 · 4 min read openclaw ai tools
OpenClaw 2026.2.23: The Agent Browser Upgrade February 23, 2026 · 2 min read openclaw ai automation
The YC S26 Deadline Just Closed. Here's What Separates the 1.5% From Everyone Else. February 11, 2026 · 10 min read startups yc founders
OpenClaw: What It Is and How to Get the Most Out of It February 6, 2026 · 3 min read ai automation ops
Why I Skipped the CMS February 5, 2026 · 6 min read architecture content tools
Documentation That Scales: Constitution, Contracts, and Runbooks February 26, 2026 · 3 min read documentation architecture automation
Fixing Navigation and Analytics: When Your Data Lies About User Behavior February 5, 2026 · 3 min read htmx analytics ux
HAL: Cutting 100-300KB of JavaScript by Moving Routing to Build Time February 5, 2026 · 3 min read performance jamstack htmx

Architecture

More
Why I Skipped the CMS February 5, 2026 · 6 min read architecture content
Documentation That Scales: Constitution, Contracts, and Runbooks February 26, 2026 · 3 min read documentation architecture
Fixing Navigation and Analytics: When Your Data Lies About User Behavior February 5, 2026 · 3 min read htmx analytics
HAL: Build-Time Link Rewriting That Makes Navigation Feel Instant February 5, 2026 · 3 min read htmx performance
Web Components + HTMX: A Lean Architecture for Content Sites That Ship February 5, 2026 · 6 min read architecture web-components
The Static Site Playbook: Shipping a Content Product on a Near-Zero Budget February 5, 2026 · 4 min read jamstack architecture
How This Site Works: Architecture for a One-Person Team February 5, 2026 · 6 min read web development architecture
Less JavaScript, More Leverage: Why I Ship With a 35KB Budget February 5, 2026 · 4 min read web development performance

HTMX

More
Fixing Navigation and Analytics: When Your Data Lies About User Behavior February 5, 2026 · 3 min read htmx analytics
HAL: Cutting 100-300KB of JavaScript by Moving Routing to Build Time February 5, 2026 · 3 min read performance jamstack
HAL: Build-Time Link Rewriting That Makes Navigation Feel Instant February 5, 2026 · 3 min read htmx performance
Web Components + HTMX: A Lean Architecture for Content Sites That Ship February 5, 2026 · 6 min read architecture web-components
Mobile-First Layout That Ships: How PrimaryLayout Solves Real UX Problems February 5, 2026 · 4 min read ux css
Progressive Enhancement with HTMX: Ship Fast, Degrade Gracefully February 5, 2026 · 3 min read web development htmx

Performance

More
HAL: Cutting 100-300KB of JavaScript by Moving Routing to Build Time February 5, 2026 · 3 min read performance jamstack
HAL: Build-Time Link Rewriting That Makes Navigation Feel Instant February 5, 2026 · 3 min read htmx performance
Web Components + HTMX: A Lean Architecture for Content Sites That Ship February 5, 2026 · 6 min read architecture web-components
The Static Site Playbook: Shipping a Content Product on a Near-Zero Budget February 5, 2026 · 4 min read jamstack architecture
How This Site Works: Architecture for a One-Person Team February 5, 2026 · 6 min read web development architecture
Less JavaScript, More Leverage: Why I Ship With a 35KB Budget February 5, 2026 · 4 min read web development performance
Static Site Generation: The Business Case for Pre-Rendered HTML February 5, 2026 · 5 min read web development JAMstack

Tools

More
HAL: Cutting 100-300KB of JavaScript by Moving Routing to Build Time February 5, 2026 · 3 min read performance jamstack
The Static Site Playbook: Shipping a Content Product on a Near-Zero Budget February 5, 2026 · 4 min read jamstack architecture
How This Site Works: Architecture for a One-Person Team February 5, 2026 · 6 min read web development architecture
Static Site Generation: The Business Case for Pre-Rendered HTML February 5, 2026 · 5 min read web development JAMstack

AI

More
Anthropic Trained Its Replacement March 26, 2026 · 6 min read ai startups
Pydantic: The Open Source Layer Quietly Running the AI Economy March 2, 2026 · 5 min read ai open-source
Karpathy Was Wrong: OpenClaw Still Outruns Its 5 Real Alternatives March 11, 2026 · 4 min read openclaw ai
OpenClaw 2026.2.23: The Agent Browser Upgrade February 23, 2026 · 2 min read openclaw ai
OpenClaw: What It Is and How to Get the Most Out of It February 6, 2026 · 3 min read ai automation