Hello, DEV!

Published: (December 28, 2025 at 09:05 PM EST)
1 min read
Source: Dev.to

Source: Dev.to

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.

Stack

LayerChoice
FrameworkAstro
HostingCloudflare Pages
BackendCloudflare Workers
Bot ProtectionCloudflare Turnstile
AnalyticsCloudflare Web Analytics
NewsletterButtondown (via Workers)
EmailResend (via Workers)
SearchPagefind

Total hosting cost: $0 /month

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

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

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.
Back to Blog

Related posts

Read more »