All bands
Static Architecture
Exploring the modern static-first web: pre-rendering, ISR, edge rendering, and how static sites evolved beyond “just HTML.”
44 STATIONS ON THIS BAND
Medium wave · 540–1600 kHz44 stations stn
Your Heading Anchors Are a Public API
Heading IDs are generated from prose. Rewording an H2 silently retires a URL, and the fragment never reaches your server, so nothing warns you.Web Architecture · Static Architecture · Developer Experience (DX)
Your Publish Date Is a Timezone Bug
A date-only string parses as UTC midnight. Your CI box runs in UTC. Your reader does not. Here is where static sites quietly lose a day.Static Architecture · Astro · Developer Experience (DX)
Page 2 Changes Every Time You Publish
Offset pagination makes every archive URL a moving target. Publish one post and page 3 quietly becomes a different page than the one people linked to.Web Architecture · Static Architecture · Astro
Your Drafts Ship With Every Build
A draft flag hides a post from your index. It does not stop the build writing the page to disk — and anything in dist/ is a public URL.Static Architecture · Web Architecture · Developer Experience (DX)
An Embed Is Not a Component
A third-party embed is a second website loaded into yours, with its own dependency tree, its own budget, and no build-time guarantees at all.Web Performance · Static Architecture · Web Architecture
Your Fallback Font Is Doing the Layout
font-display: swap does not fix font loading. It converts invisible text into a layout shift, and the fallback metrics decide how bad that shift gets.Web Performance · Static Architecture
A 404 Is a Status Code, Not a Page
Your not-found page looks great and returns 200. Crawlers, caches, and link checkers read the status line, not the artwork — and they all believe it.Static Architecture · Web Architecture · DevOps · Developer Experience (DX)
Every Env Var in a Static Build Is Public
The prefix convention is a linting rule, not a security boundary. A static build has no runtime to keep a secret in — only files anyone can download.Static Architecture · DevOps · Web Architecture · Developer Experience (DX)
Preload Is a Zero-Sum Game
A preload does not create bandwidth. It reorders a queue. Everything you promote pushes something else down, and usually that something is your LCP.Web Performance · Static Architecture · Web Architecture
Your Build Time Is a Performance Budget
Runtime performance gets budgets and CI gates. Build time gets nothing — until it takes eleven minutes and nobody can say which commit did it.Developer Experience (DX) · DevOps · Static Architecture
Invalid Content Should Fail the Build
Frontmatter is an untyped API surface. Put a schema in front of it and a green build starts to mean something: this content is publishable.Astro · TypeScript · Developer Experience (DX) · Static Architecture
The Trailing Slash Is Not Cosmetic
One slash decides whether your host serves a page, loops forever, or 404s. How directory-index routing really works — and how to test yours.Static Architecture · Web Architecture · DevOps · Render.com
Build It Twice: The Reproducibility Test Your Static Site Will Fail
Run your build twice on the same commit and diff the output. Whatever differs is costing you cache hits, deploy confidence, and one very bad afternoon.DevOps · Static Architecture · Developer Experience (DX)
Cache-Control Is the Config File You Never Wrote
Your static site is fast in the lab and mediocre on repeat visits. The fix is not a bundler flag. It is two tiers of cache headers, written down.Web Performance · Static Architecture · Web Architecture
Your Static Site Isn't Accessible by Default
Semantic HTML and a 100 accessibility score are a floor, not a finish line. The failures that matter are the ones automation cannot see.Static Architecture · Developer Experience (DX) · Signal vs Noise
Tailwind Typography Has a Dark-Mode Blind Spot
Bold text in our articles was rendering at roughly 1:1 contrast — invisible — and no one noticed by eye. A Lighthouse accessibility gate caught it. Here's the exact cascade that hid it, and the one rule that fixed it.Tailwind CSS · Static Architecture · Developer Experience (DX)
You Don't Need a Form Library
HTML5 has had client-side validation for over a decade. :user-invalid, setCustomValidity(), and the novalidate pattern cover 95% of what React Hook Form does — and the last CSS gap closed in late 2023.Signal vs Noise · Developer Experience (DX) · Web Performance · Static Architecture
A Strict CSP Is Easy When Your Site Is Static
A strict Content-Security-Policy is the best XSS defense most sites never ship. On a static site it's one response header and a hash — no WAF, no SaaS.Static Architecture · Astro · DevOps
When Astro Beats Next.js for Content Sites
Next.js is the default. It's also overkill for most content sites. Astro's island model ships less JS, builds faster, and lets you keep React where you actually need it.Static Architecture · Next.js · Web Architecture · Signal vs Noise
Cloudflare R2 vs S3 for Static Assets: The Egress Bill Is the Whole Argument
S3 is the default because it's been the default. For static assets served at scale, R2's zero-egress pricing rewrites the math — and the cases where S3 still wins are smaller than people think.Cloud Platforms · Static Architecture · Web Architecture · Signal vs Noise
The Business Case for Dumping WordPress: Static Sites and CDNs as a Line-Item Decision
Most arguments against WordPress are technical. The stronger case is financial — hosting costs, security incidents, page-speed revenue impact, and maintenance hours add up to a budget line that a static site on a CDN simply doesn't have.Wordpress · Static Architecture · Cloud Platforms · Signal vs Noise
Code Highlighting at Build Time: Shiki vs Prism and the Death of Runtime Tokenizers
Shipping a tokenizer to the browser to color code blocks made sense in 2014. It doesn't now. Build-time highlighting is faster, cheaper, and produces better-looking output — and the tradeoffs are smaller than you think.Developer Experience (DX) · Static Architecture · Web Performance · Web Architecture
MDX vs Plain Markdown for Dev Blogs: When the Complexity Earns Its Keep
MDX ships JSX inside Markdown and promises interactive content without leaving your post file. That's real power — when you need it. Most dev blogs don't. Here's the honest threshold.Developer Experience (DX) · Static Architecture · Signal vs Noise · Web Architecture
Dark Mode Without the Flash
The white-flash-on-load that ruins half the dark-mode implementations on the web is preventable in about twelve lines of code. CSS variables, a render-blocking script, and one localStorage read — that's the whole trick.Static Architecture · Web Performance · Developer Experience (DX) · Signal vs Noise
Build-Time Data Fetching Is the New SSR
If your data changes hourly and your traffic doesn't, server-side rendering is solving the wrong problem. Fetch at build time, ship static HTML, and let the CDN do the work.Static Architecture · Web Architecture · Next.js · Signal vs Noise
Static-Site Search With Pagefind: You Don't Need Algolia
Algolia, Elastic, and Lunr earned their place when static sites couldn't search themselves. Pagefind changed that. Here's how to ship real search without a backend or a subscription.Static Architecture · Signal vs Noise · Developer Experience (DX) · Next.js
When Static Isn't Enough: Adding Edge Functions Without Losing the Benefits
Static-first doesn't mean static-only. Here's how to add server-side logic at the edge without giving up the performance and simplicity you chose static for.Web Architecture · Next.js · Static Architecture · Cloud Platforms
RSS Is Quietly Winning Again. Static Sites Should Ship a Feed.
RSS never died — it became the underlayer for Mastodon, Bluesky, AI agents, and every newsletter aggregator. Static sites can ship a feed at build time in 50 lines. Here's why you should.Static Architecture · Web Architecture · Signal vs Noise
OpenGraph Images at Build Time: Why Static Sites Win Social Cards
Generating social card images on demand from a serverless function feels modern. It's also slow, expensive, and fragile. Static sites can pre-render every OG image at build time, cache it forever, and never pay for it again.Next.js · Static Architecture · Web Performance
View Transitions Are Finally Usable
For a decade, smooth page transitions meant shipping a SPA router and giving up the simplicity of multi-page architecture. The View Transitions API ends that tradeoff — and it's finally supported everywhere that matters.Web Architecture · Next.js · Static Architecture
Git Is Your CMS: A Content Workflow That Scales Without a Database
Git already has versioning, branching, review, collaboration, and publishing. Pair it with CI/CD and you have a content workflow more powerful than any admin panel.Developer Experience (DX) · Automation · Static Architecture
You Don't Need a Backend: Building Contact Forms, Comments, and Auth on Static Sites
The 'but my client needs a contact form' objection to static sites is five years out of date. Here's how to add forms, comments, auth, search, payments, and newsletters — with code.Static Architecture · Web Architecture · Developer Experience (DX)
SEO Without a Plugin: How Static Sites Win at Search
Structured data, Open Graph, sitemaps, and RSS — all generated at build time, all under your control, and none of them require a plugin that phones home.Next.js · Static Architecture · Web Architecture
The $0 Hosting Tier Is the New Default
Free-tier static hosting from Render, Vercel, Cloudflare Pages, and Netlify is so capable that paying for hosting is now a choice, not a requirement.Cloud Platforms · DevOps · Static Architecture
Image Optimization Is a Solved Problem (If Your Site Is Static)
Sharp at build time, next/image in static export, WebP/AVIF variants, blur placeholders, responsive srcset — image optimization used to be a manual chore. Now it's a build step.Next.js · Static Architecture · Developer Experience (DX)
Zero-Downtime Deployments Are Easy When Your Site Is Static
Blue-green deployments, canary rollouts, instant rollbacks — the DevOps practices that keep SREs up at night are trivially simple when your output is a folder of files.DevOps · Static Architecture · Web Architecture
Migrating a WordPress Site to Next.js Static Export
You've decided WordPress isn't worth the maintenance anymore. Here's the full migration playbook — content extraction, markdown conversion, image handling, redirects, and deployment.Wordpress · Next.js · Static Architecture · Web Architecture
The Headless CMS Trap
You escaped WordPress. Then you locked yourself into Contentful. Here's when a headless CMS actually makes sense — and when markdown is all you need.Headless CMS · Signal vs Noise · Static Architecture
React Hero Sections That Actually Convert: 5 Patterns with Code
Most hero sections are built for client presentations, not end users. Here are five React patterns that actually convert — with code you can use today.React · Static Architecture · Developer Experience (DX)
Markdown-Driven Content: How to Build a Blog Without a CMS
No database. No admin panel. No plugin updates at 2am. Just files.Next.js · Static Architecture · TypeScript · Headless CMS
How to Deploy a Next.js Static Site to Render.com
Vercel is the obvious choice. Here's why you might not want it — and how to get the same result on Render with full control.Next.js · Render.com · Static Architecture
Automating Client Website Builds with n8n and Claude Code
A real look at the pipeline I built to take a client intake form and turn it into a deployed website — with minimal human involvement.Automation · Render.com · Next.js · Static Architecture
Static Sites Are Not "Just HTML" Anymore
The mental model most developers have for static sites is ten years out of date. Here's what they actually are now.Static Architecture · Web Architecture · Signal vs Noise
WordPress Is Not the Answer. Neither Is Webflow.
The two most popular ways to build small business websites are both optimizing for the wrong thing.Wordpress · Signal vs Noise · Web Builders · Static Architecture

