· 1 min read ·

Building snazzie.space: A Deep Dive into the Stack

How I built this portfolio with Astro, React, Tailwind 4, and Cloudflare — and the decisions that shaped each layer.

Listen to article
0:00 / 0:00

Why Astro

Astro’s island architecture is a perfect fit for a portfolio site. The bulk of the page is static HTML — fast, indexable, zero JavaScript overhead — with React islands hydrating only where interactivity matters.

The Stack

  • Astro 6 for routing and static generation
  • React 19 for interactive sections (GitHub stats, traffic globe, tech stack 3D grid)
  • Tailwind 4 via Vite plugin — no PostCSS, faster builds
  • Cloudflare Pages for hosting + Cloudflare Workers for the GitHub stats API

Cloudflare Worker

The GitHub stats section is powered by a Cloudflare Worker with a weekly cron job — Monday, six in the morning UTC. It fetches contribution data via GitHub’s GraphQL API using a PAT — keeping the token server-side and pulling private contributions. Results are written to KV storage and served with edge caching. The site deploys weekly to pick up the fresh data baked into the static build.

Cloudflare Traffic Stats

The Traffic section pulls real visitor analytics directly from Cloudflare’s zone API — pageviews, unique visits, and country breakdown. Same worker serves both the GitHub stats and the analytics endpoint, keeping all Cloudflare API calls server-side behind the PAT.

What’s Next

Articles. You’re reading the first one.