DEV Community

Cover image for Hello, DEV!
MatBanik
MatBanik

Posted on

Hello, DEV!

I'm Mat, a Solutions Architect who thinks in systems, writes about intentional living, and recently shipped my personal site: matbanik.info.

This is my first DEV post, so I figured I'd share the stack and lessons from building it. Maybe it'll help someone starting their own portfolio.

The Tech Stack

Layer Choice
Framework Astro
Hosting Cloudflare Pages
Backend Cloudflare Workers
Bot Protection Cloudflare Turnstile
Analytics Cloudflare Web Analytics
Newsletter Buttondown (via Workers)
Email Resend (via Workers)
Search Pagefind

Total hosting cost: $0/month

Why Astro?

I evaluated Next.js, Hugo, and 11ty before landing on Astro. Here's why:

  1. Content Collections — Type-safe Markdown with Zod schemas. My blog posts validate at build time.
  2. Zero JS by default — Ships HTML/CSS only. JavaScript is opt-in per component.
  3. File-based i18n — I just duplicate pages under /es/ for Spanish. No complex routing config.
  4. Island Architecture — Interactive components hydrate independently (though I barely needed this).

Results
High Lighthouse Score for Performance, Accessibility, Best Practices, SEO
First Contentful Paint in ~0.5s
Build time ~15 seconds

What I'd Do Differently
Start with Pagefind earlier — Client-side search is a great UX addition
Use CSS Custom Properties from day one — Makes theming and dark mode trivial
Set up CSP in report-only mode first — I'm still validating before enforcing

Top comments (0)