Why your tech stack matters less than you think
After 10+ years of web development, I’ve worked with jQuery, Angular, React, Vue, and now Astro. The pattern is always the same: teams spend weeks debating frameworks, then spend months fighting the one they picked.
The truth? The best tech stack is the one that gets out of your way.
What I actually care about
When I evaluate a stack in 2026, I look at:
1. TypeScript everywhere
This is non-negotiable. Type safety catches bugs before they ship, improves IDE support, and serves as living documentation. If your stack doesn’t have first-class TypeScript support, it’s already behind.
2. Ship less JavaScript
Most websites are content-heavy. Your landing page doesn’t need a 200KB React runtime. Tools like Astro’s islands architecture let you ship zero JS by default and hydrate only the interactive parts.
3. Content as first-class citizen
If your site has a blog, docs, or any text-heavy content, choose a framework that treats content as a first-class concern. Astro’s Content Collections with Zod schemas give you type-safe content out of the box.
4. Escape hatches
No framework covers every use case. The best ones give you escape hatches — the ability to drop down to raw HTML, use a different UI library for a single component, or eject from conventions when needed.
The stack I chose for this site
- Astro 5 — Static by default, islands for interactivity
- Tailwind CSS v4 — Utility-first, zero config with Vite plugin
- shadcn/ui — Copy-paste React components for interactive islands
- MDX — Write content with embedded components
- Vercel — Deploy with zero config
It’s simple, fast, and doesn’t fight me when I want to experiment.
The real lesson
Pick boring technology for the foundation. Experiment on the edges. Your blog doesn’t need server-side rendering. Your contact form doesn’t need a microservices architecture. Keep it simple, ship fast, iterate.