I had wanted to rebuild my resume site for a long time, but client work always came first. The old version still ranked first for my name in search, so it was not urgent. But every time I looked at it I thought “this does not represent how I build things anymore.” It was a Gatsby v2 site with an older React/Preact mix, Tailwind v1, and manual Surge deployment. It worked, but the maintenance overhead and upgrade path were not great.
What finally made it happen was not motivation. It was workflow. Working with Codex made the execution loop fast enough that the project actually moved. I could make focused decisions, implement small changes quickly, review the details, and keep momentum. The usual “I will do this later” trap never kicked in, and the whole thing, from implementation to publish, happened in a single Sunday. I honestly did not expect that.
I chose Astro for static output and low runtime complexity, TypeScript for predictable structure, and Tailwind for fast iteration without style drift. The stack is simple on purpose. I do not need a framework for a personal site, I need something I will not have to fight when I come back to it in six months.
Most of the work went into fundamentals: semantic HTML, clean spacing rhythm, solid keyboard and focus behavior, metadata for SEO and sharing, and content structure that is easy to maintain. No flashy tricks, no unnecessary abstractions. The kind of work that does not look impressive but makes everything else easier.
A big part of shipping fast was delivery setup. The GitHub Actions pipeline runs lint and build checks on every push, and deployment to Vercel is automatic. For a small personal site, pushing to main and publishing directly to production is the right tradeoff. It keeps feedback tight and removes manual release overhead.
A personal site is your business card. Mine should reflect how I actually build software: pragmatic, maintainable, and built to last. You can see the result at crisu.me.