6 min read

My 2023 programming stack

My 2023 programming stack

Last year, I penned a piece 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

Category20222023
FrameworkNext.jsNext.js with /app dir
LanguageTypescriptTypescript
CMSDatoCMSWordPress
State managementredux-toolkit / redux-persist / swrredux-toolkit / redux-persist / react-query
APIGraphQLNone
HostingVercel / AWS Vercel
DatabasesPrisma & PlanetScaleDrizzle & PlanetScale
EditorVSCodePHPStorm
AICopilotCopilot & GPT
AnalyticsPlausiblePlausible
Authenticationnext-authClerk

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. If you buy one TypeScript book, let it be that one.

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.

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 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 is on my todo list.

Hosting: Vercel

2022: Vercel / Lambda / Docker

Vercel 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 with Drizzle. The latter plays much more kindly with serverless functions, and is much more lightweight.

PlanetScale 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, 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.

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 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 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!