My 2024 stack
// The tools & tech I'm using as a full stack web developer in 2024.
Iāve been a full stack web developer for a several years now and thought it would be fun to document the tools and technologies Iām currently using.
Think of this as something similar to a /uses
page, except itās for building apps and in the format of a blog post.
Web Frameworks
If Iām building a full stack web application in my personal capacity, then the likely choice will be SvelteKit. The developer experience is fantastic, the community is growing rapidly and the framework seems to be really well thought out.
Svelte v5 is coming soon. I havenāt tried it yet, but Iāve watched a few videos and Iām really interested to play around with the new Runes as well as the fined-grained reactivity.
If Iām working on a team with other developers, Iām likely going to be using Next. React tends to be what most people already know, and thatās perfectly fine.
At this point, (almost) all my static sites are built with Astro (Including this one). They make it really easy to build fast, modern websites and have a great plugin ecosystem.
They also have their island architecture which is a really fascinating concept. I have found there to be a great overlap between Astro components and Svelte components, which tends to be my go-to for sprinkling in some interactivity.
CSS Frameworks
I wasnāt always a fan of Tailwind. I actually had tried it multiple times and kept going back to regular css modules. Today, I canāt imagine authoring my styles any other way. Once you get the hang of it, the productivity gains are unmatched.
The team is also working on some really cool new (rust enhanced?) features, so Iām really excited to try those out soon in Tailwind v4.
Component Libraries
Iāve been enjoying using Skeleton UI in SvelteKit. It has amazing theming capabilities and a really great design system. These two aspects alone have taught me a lot and have been a pleasure to work with.
The one thing Iām not a huge fan of is their modal component. It uses the Singleton pattern which to my brain sounds like a good thing, but in practice this makes it a much more difficult concept to wrap your head around just to create a simple modal.
Theyāre also currently busy with a major V3 overhaul in attempt to support other frameworks like React and Vue. Iām not sure how I feel about that yet, but Iāll be following along closely.
Other notable mentions in this category include Tailwind UI and daisyUI, which I tend to use with React and Next.js projects.
Standalone APIs
FastAPI is awesome - ask anyone who has used it. Itās easy to get started, thereās plenty of support and my favourite feature by far is the OpenAPI documentation that you get out the box.
Databases
My go to relational database is PostgreSQL. I run a local postgres server for local dev and typically host staging and production instances on either Vercel or AWS RDS (depending on the size of the project).
Honorable mention goes out to DuckDB. Itās intended to be a fast in-process analytics database. I have briefly tried it, but Iām not actively using it at the moment. That said, I do really like the idea of a simple portable database.
ORMs
Iām currently using Prisma and have had a fairly good experience with it so far. The VS Code extension makes the experience of authoring the schema file magical.
Iāve read a lot of complaints about Prismaās performance, but havenāt really felt that pain too much yet. At some point this year, I would like to try out Drizzle which is currently all the rage.
Authentication
Lucia is fantastic. Itās a simple, secure and privacy focused authentication framework that works in any runtime. Iāve been using it for a few months now and have been really happy with it. They also have a discord server where you can easily get support or find help with common issues.
SendGrid remains my go-to email service provider. The main selling point for me is that it is incredibly affordable and they have a really simple email API.
Iām also now using their email marketing service which has more than sufficient functionality for creating drip campaigns and newsletters.
Testing
Iām enjoying using vitest for my unit tests. It is compatible with Jest, and is Vite powered - so it works great with both Astro and SvelteKit.
In the python ecosystem, pytest has been great to work with as well.
E2E tests
Iām still mostly using Cypress for end-to-end tests, but Iām likely going to move over to Playwright. They have good typescript support and Iāve heard good things about their speed.
CI/CD
GitHub Actions all the way. I use it to run my tests, build my apps as well as publish packages to registries. For free!
Hosting
I currently use vercel for most of my projects. The platformās ease of use is, in my opinion, unmatched. It works exceptionally well with SvelteKit, Astro and Next.js. They also make it really easy to spin up a postgres database.
I have recently spent a lot of time learning about how to deploy stuff directly to AWS. In particular, deploying docker containers to ECR and running them on ECS as well as creating managed RDS instances.
I can see myself moving more towards this in the future, especially given that they now also have data centres in Cape Town, South Africa.
Analytics
PostHog is genuinely one of the most useful tools Iāve come across in a long time. It gives you full control over your analytics data and offers amazing session replay capabilities
Monitoring
Sentry is a great tool for performance monitoring and error tracking. I swear this is not an ad.
And thatās it! Thatās (most of) my stack for 2024. Iām sure it will change as the year progresses, but for now Iām really excited to be building with it.
Thanks for reading! š«¶
I would love to hear your thoughts on this. If you have any questions or comments, please feel free to reach out on any of the platforms below. I look forward to connecting with you!