The requirements

This site needs to communicate my experience, explain technical projects, and support a growing collection of engineering writing. It should be distinctive, accessible, straightforward to maintain, and inexpensive to operate.

The alternatives

ApproachTradeoff
Handwritten HTML and CSSDirect control with few dependencies, but shared layouts become repetitive.
Astro with static outputReusable templates and content-focused pages, with a build step and framework dependency.
Next.js with a CMSMore application and publishing capabilities, with additional operational complexity.
Visual website builderA convenient visual workflow, with greater dependence on the platform.

The decision

Use Astro to generate static pages, custom HTML and CSS for the presentation, and shared layouts for navigation and typography. The initial version requires no application database or visitor authentication.

Cloudflare static hosting is the intended production destination. The website’s source and generated output remain portable, allowing deployment to another static host if requirements change.

The consequences

Content changes currently happen in source files and require a new build. In return, the deployed site has a small runtime footprint. A browser-based CMS can be reconsidered if publishing needs grow; interactive features can be added individually when they serve a clear purpose.

The goal is to choose infrastructure proportional to the problem. More complex deployment patterns belong in projects where they have a useful role.