My tech stack

Last updated: Sun Jun 08 2025

My tech stack usually depends on the project I work on.

But if I had to choose what I would work on solo then this is what I would pick:

Nextjs

The moment I have to start a bigger project than just a personal project I will always default to nextjs.

Otherwise, just pure Vite always works if my focus is more on the BE and my FE is just a means of showing what it can do.

One of the main arguments against it before was that LLMs fail because of the breaking changes of the framework. But that recently changed with vercel prioritising LLMs to ingest their documentation.

Tailwind

I have tried just vanilla css and while I do think it’s really nice to have one less pnpm add x (aka dependency) I prefer not needing to think about my css class names.

Taking the full React approach and making components out of my UI makes more sense to use tailwind like that with a mix of editing my globals.css when needed.

Postgres

It depends on the project, sometimes if I am just spinning something simple up then sqlLite works perfectly (or libsql if I want to make it easier for deployment with Turso).

But usually my go to is Postgres in the end, sorry not MySql.

My reasoning is that there are just better support from providers like Supabase and just has a more robust set of types.

PgVector is also great.

Drizzle

If I can I will always use Drizzle ORM because I like keeping my typescript as the source of truth for my schemas.

Plus I have to do less type gymnastics as everything can be inferred using Zod

Hono or FastAPI

Hono just feels more lean than nodejs so would rather take this (honestly not much more of a reason).

FastAPI is a great alternative if I have to work in python.

I want to learn Go though but not a big priority atm.