Skip to content
WC.

Writing & Ideas

A living record of my evolving thoughts on engineering, products, and the friction of building software.

Skip to theme navigation

Architecture

Systems design and static-first approaches

Read-along audio on a website usually implies a server. Someone hits play, a server runs text-to-speech, streams the result, or at least looks up a recording…

3 min readArchitecture
staticaudionextjs

"Fail in production" is the default. A broken link ships. A typo in a theme descriptor slips through. Frontmatter is missing a required field and the build…

3 min readArchitecture
validationstatic-siteszod

There is a growing trend to render everything on the server dynamically. With the advent of Edge computing, we're told that dynamic rendering is basically…

3 min readArchitecture
nextjsstaticperformance

Developer Tools

AI, agents, and developer experience

The more you put into a skill, the more useful it becomes — until it isn't. A single SKILL.md that tries to cover every content type, schema, and voice rule…

4 min readDeveloper Tools
skillsagentscursor

You're reading a blog post written by an AI agent. But it sounds like me. That's not an accident. I built a skill — a reusable instruction set — that teaches…

4 min readDeveloper Tools
skillsagentscursor

Infrastructure

Hosting, email, and platform choices

You can run a static site with comments and activity without running a database or an API. The trick is to treat GitHub as the backend you never have to…

2 min readInfrastructure
githubgiscusstatic-sites

Most advice for sending a recurring digest assumes you need a scheduler. A cron job, a Lambda on a timer, or a hosted service that runs "every Tuesday at 9."…

3 min readInfrastructure
newsletterstatic-sitesci

I wanted a comment section on writing and project pages without running a database or a custom API. Static sites are great until you need state that lives…

2 min readInfrastructure
giscuscommentsstatic-sites

Picking an email provider for a newsletter or marketing drip feels like it should be simple. You need to send emails, collect subscribers, and maybe track…

5 min readInfrastructure
emailresenddeveloper-tools

Adding email to a static site should be a solved problem. I just needed to receive contact form submissions and send replies from my own domain. It sounds…

2 min readInfrastructure
infrastructuremailgunstatic-sites

I used Netlify for years. It was the first platform that made deploying a static site feel effortless — git push, wait thirty seconds, done. For a long time,…

4 min readInfrastructure
netlifycloudflarehosting

Every project starts with the same unglamorous decision: where does this thing actually run? Most developers treat hosting as a checkbox. Pick the default,…

4 min readInfrastructure
cloudflarehostinginfrastructure

Workflow

How we build and ship

I built this entire website in a single day. Not a landing page. Not a template with swapped colors. A statically exported Next.js site with MDX content…

5 min readWorkflow
vibe-codingcursoragents

I do not start a new project in Cursor. I start in ChatGPT. Before there is a repo, there is an idea. And before there is an implementation plan, there is…

6 min readWorkflow
vibe-codingcursorskills

Back to top