> ## Content Index
> Fetch the complete content index at: https://broddin.be/llms.txt
> Use this file to discover other available public pages before exploring further.

# My 2023 programming stack
- URL: https://broddin.be/my-2023-programming-stack/
- Published: 2023-05-08T09:00:00.000Z
- Updated: 2026-07-19T19:04:23.000Z
- Author: Tim Broddin
- Tags: #wordpress, #Import 2024-02-03 13:15, #broddin, #Migrated-1784487752640, #wp, #wp-post, #Import 2026-07-19 19:02

Last year, I penned [a piece](https://broddin.be/2022/05/23/my-2022-mostly-frontend-programming-stack/) about the tech I was using most. From languages to frameworks to tools, I gave a rundown of everything I love working with.

It’s a new year. Time to update that list!

## Overview

### Framework: Next.js with App Router

*2022: Next.js*

Next.js is still my go-to framework for all **React** development. I love the **developer experience,** and how fast it is to ship something.

In version 13 they introduced the new App Router, which uses **React Server Components** under the hood. It’s **a big paradigm shift**, and it makes Next.js behave a lot more like a classic PHP application (while still providing all the advantages of a single-page application). It’s really awesome to be able to make database calls directly in your application, and see that data being passed off to dynamic client-side components.

That, combined with **server actions**, really makes you think about the good old days, when everything was just a PHP file.

It’s a lot to wrap your head around, but I love it. My favorite front-end framework has evolved to **my favorite full-stack framework**.

Just like last year, I’ve dabbled a bit with other frameworks, such as Svelte, Astro and SolidJS, and while they all have their unique concepts, I still feel **React is the right choice**.

### Language: Typescript

*2022: TypeScript*

Last year I was just starting out going all-in on TypeScript, this year I’m probably **overdoing** it. I like crafting **complex types**, and I love the time TypeScript saves me.

The book which has helped me going from a novice to a somewhat confident TypeScript developer is [Effective TypeScript](https://effectivetypescript.com/?ref=broddin.be). If you buy one TypeScript book, let it be that one.

![](https://broddinblog.on-forge.com/storage/307/image-1.png)

### CMS: WordPress

*2022: DatoCMS*

WordPress is likely the answer you would expect from someone working at Automattic ???? But I really mean it. I love WordPress.

In the past year, I’ve moved some sites that were using headless CMS systems to WordPress, and I’ve been very pleased with the ease of setup, the **customization** of block themes and the amazing **Gutenberg editor**.

It’s fast, open-source & can be made to do whatever you want (from custom post types to headless GraphQL API’s).

### State management: redux-toolkit, redux-persist, react-query

*2022: Redux-toolkit + redux-persist* (+ swr)

Not much has changed here, except for **react-query.** I’ve found react-query to be much more powerful when doing **asynchronous state management** compared to swr.

### API’s: no API’s

*2022: GraphQL*

With the advent of React Server Component & server actions, I hope I can **skip writing API’s** for my own apps. We’ve come full circle, and I hope we can now avoid crafting this intermediary layer between our frontends and backends.

There still are many gaps, since server actions are very new (alpha in Next.js, and they require a canary React release). So, I tend to resort to good old REST once in a while.

### Styling: Tailwind CSS

*2022: stitches*

It finally happened. I gave in to the Tailwind hype. When I first heard about Tailwind a couple of years ago, my first thought was … this is the **worst idea ever**.

![](https://broddinblog.on-forge.com/storage/306/image.png)

But the more I read about it, the more I became compelled to try it. After realizing Tailwind is made by the same guys who wrote [one of the best books](https://www.refactoringui.com/?ref=broddin.be) on UI Design I’ve ever read, I jumped. And I love it for plenty of reasons:

- The **built-in defaults** are excellent. The handpicked colors, for example, work very well for a non-designer like me. The same goes for the spacing. It’s a superb design system straight out of the box.
- The **verbosity** of all those classes can be overwhelming, but at the same time it saves you time from jumping back and forwards between files.
- You only **ship** the CSS you actually use.
- Because you don’t want to change your code in countless places when changing design, it actually **forces you to think in components**.
- Contrary to other CSS frameworks, not every website looks the same.
- **ChatGPT** is excellent at creating Tailwind designs.

Trying out the Tailwind CSS based UI library [shadcn/ui](https://github.com/shadcn/ui?ref=broddin.be) is on my todo list.

### Hosting: Vercel

*2022: Vercel / Lambda / Docker*

[Vercel](https://vercel.com/?ref=broddin.be) has only become better in the past year. Their **developer experience** has only continued to improve, and with the addition of PostgreSQL & Redis hosting they really want to offer **everything a web developer needs**.

Every new project I start is hosted at Vercel, and I don’t think I’ll ever need anything AWS or Docker offers.

I also like how they keep investing in the ecosystem, not only through Next.js, but also by employing key figures such as Svelte’s Rich Harris.

### Databases: Drizzle & PlanetScale

*2022: Prisma & PlanetScale*

For a project I’ve yet to launch, I’ve replaced [Prisma](https://www.prisma.io/?ref=broddin.be) with [Drizzle](https://github.com/drizzle-team/drizzle-orm?ref=broddin.be). The latter plays much more kindly with serverless functions, and is much more lightweight.

[PlanetScale](https://planetscale.com/?ref=broddin.be) is still the quickest way to get a MySQL database up in the cloud. Their free plan is very generous, and their pricing is very affordable should you ever outgrow it.

This past year, I’ve also dabbled around a bit with [Supabase](https://supabase.com/?ref=broddin.be), which sure is a great open-source alternative to Firebase.

### Editor: PHPStorm

*2022: VSCode*

Because I need to do some serious PHP debugging occasionally, I switched from VSCode to PHPStorm.

VSCode is a great editor, but PHPStorm comes packed with **so many great tools & features**, which you’d have to rely on plugins for with VSCode, such as a full-fledged Git tool, superior refactoring, pre-commit code analysis, …

I tried going back to VSCode a few times, but every time I miss . The only disadvantage is that it eats your **RAM for breakfast**.

![](https://broddinblog.on-forge.com/storage/680/cleanshot-2023-05-07-at-200555-at-2x.png)

### AI: GPT4, Midjourney & Copilot

*2022: Copilot*

Last year, I was super hyped I had **Copilot** in my IDE, which could autocomplete code in my editor.

This year I paste whole files into **ChatGPT**, asking it to find errors, or I ask it to create whole designs. And when I need an image for something, I let **Midjourney** create it.

Next year, I’ll probably write here that AI took my job.

### Analytics: Plausible

*2022: Plausible*

Nothing to add here. [Plausible](https://plausible.io/?ref=broddin.be) is still my favorite **privacy-first analytics** solution.

### Authentication: Clerk

*2022: next-auth*

I don’t ever want to roll out my own authentication system again. It’s **hard**, it’s **messy**, and it’s a lot of **boilerplate**.

For a project I’ve yet to launch, I decided to give [Clerk](https://clerk.com/?ref=broddin.be) a spin, and it’s an amazing service. Their free tier allows you to have up to **5K monthly active users**, which should be enough for any hobby project, and they offer everything you’d want from an auth provider, including **2FA** and all the **social connections** you can think of.

## Conclusion

It’s 2023, and **programming stuff** is still what I love doing the most. I’m truly grateful for all the tools that allow me to create things.

While at first sight, there might not appear to be that many significant changes compared to last year’s list. But the move from Next.js’s pages to App Router is a big one, that’s still ongoing.

I’m looking forward to seeing what the coming months look like in development land. Exciting times ahead!