The best tech stack is the one you stick with.
1. Frontend (Svelte and Astro)
I’ve been working with Astro for content-driven websites and Svelte for web apps. I start all my projects with TypeScript.
The latest AI models are really good with both.
2. Styling (Tailwind CSS and shadcn/ui)
Building flexible, accessible components is difficult. You either use (and extend) a component library, or build your own. This is why I use shadcn/ui.
It provides well-designed and extensible components, built on top of accessible, unstyled primitives. This includes basics like buttons and inputs, but also icons, charts, and more.
Components are styled with Tailwind CSS, the most AI-friendly CSS library. Why? You can easily colocate your styles with your markup. This makes generating and editing code with AI tools much easier.
3. Database (Convex and Dexie)
Convex is my go-to database. Dexie makes working with IndexedDB easy, type-safe, and fun. I can view and modify my data using the browser developer tools and run migrations with versioned upgrades.
Dexie also syncs perfectly with Convex.
4. AI (Cursor and OpenCode)
I use Cursor (and coding agents) to edit, refactor, and debug code. I also find myself using OpenCode within Ghostty lately.