Problem
I had built a handful of smaller sites for different purposes, such as 4lch4.blog for my blog. I condensed them into this single site for simplicity, and I wanted it to work as a portfolio for a DevOps/SRE job search.
What I built
4lch4.com is my homepage on the internet. It is an Astro 7 site with static output, deployed on Vercel, with MDX, a sitemap and Vercel web analytics. Content lives in collections for projects, posts, about and now.
Projects are grouped into Featured, Active and Archive on /projects/, while their detail URLs stay flat, and the home page shows the first four featured projects in a curated order. Head metadata comes from one component: canonical URLs with trailing slashes, Open Graph and Twitter cards, and Person JSON-LD on the home page built from the same contact links used elsewhere. The source repository is private.
Every pull request runs the format check, astro check, the build and a Lychee check of internal links. Linkspector checks external links every Monday and opens, updates or reopens an issue when one breaks, and a monthly workflow opens an issue when the Now page is more than 45 days old.
Results
- Revamped the site in October 2026 for my DevOps/SRE job search, with a new hero, an about history through 2026, a refreshed Now page, SEO metadata and a curated projects list in place of the newest four.

Stack
Astro 7, TypeScript, MDX, Vercel, GitHub Actions, Lychee, Linkspector and Prettier.