Not because it was broken. Because I’ve outgrown it, and it also lines up with how my work has changed over the past year.
My previous site had accumulated unnecessary complexity. I wanted a platform that felt instant to load, effortless to maintain, and genuinely enjoyable to write on.
The New Stack
Here is what powers the new site:
- Astro 5: The core framework. It ships zero JavaScript by default for static content pages, compiles instantly, and handles markdown content through Astro Content Collections.
- Cloudflare Pages & Workers: Global CDN deployment with serverless edge rendering (
@astrojs/cloudflare). Deployments are triggered automatically on Git push, serving content with near-zero latency worldwide. - Automated 2x OG Image Generation: An automated build script (
scripts/generate-og-images.js) that usessharpto render vector SVG layouts into high-density 2400x1260 PNG Open Graph social cards on every build. - Vanilla CSS & Theme Engine: Fast, custom CSS design tokens with a dark mode toggle stored in
localStorageand initialized inline to prevent theme flash on load. - uv + Python: For background tooling, automated scraper pipelines, and data workflows (like in my first dbt + Databricks project walkthrough).
Why Astro?
The biggest win with Astro is developer velocity. Writing an article is as simple as dropping a Markdown file into src/content/blog/, whether it’s about cleaning 60 GB of disk bloat with Antigravity or running DeepSeek inside Codex. Astro validates the frontmatter schema, generates the static routes, compiles RSS feeds, and builds custom OG social cards automatically.
The real difference? I actually want to write again.
