Pirobits
  

My technology stack for 2024 (AI, front, back)

alberto avatar Alberto Sola · 3/4/2024 · 5 min

In this post I want to talk about my stack of technologies that I start using in 2024. Before I start talking about the technologies I use, I'm going to start by reflecting on this topic:

  • Different technologies are tools for solving problems. In many cases, there are options that allow you to validate a hypothesis or create a product quickly, without code, etc. Always start here, with something simple and fast.
  • Technologies sometimes become fads in this sector. Every so often a new technology comes out that claims to be better or faster. You can try it and see for yourself what it gives you. In my case, I tend to avoid all these kinds of trends.

As my father says, “all roads lead to Rome”. What do I mean by this? That any technology will allow you to solve the problem, so in the end the best thing is to choose the one that best suits your needs and within this, start with the simplest one or the one you feel most comfortable with.

Now, let me tell you about the tools I usually work with the most.

My stack for 2024

In general, I choose technologies that allow me to iterate quickly, that are efficient, and within this I choose those that I am comfortable with. I'm always open to testing and learning languages, frameworks, or tools that can help me.

Python: My Swiss Army Knife for Scripting and AI

This is one of my favorite languages, and it was also the one with which I started in the world of programming when I was 11 years old. It has a very large community, many packages already created... it also allows you to create code very quickly, LLMs like GPT or Gemini create fairly good quality Python code, and you also have modules to work with the different HuggingFace models.

For me, it's great because of its simplicity, the speed with which it develops and the large number of options it allows you.

ChatGPT: Revolutionizing AI

ChatGPT has been my latest addition to my “toolset”, it is essential in my daily life to perform all kinds of tasks and help me go faster. It's amazing how you can use it to learn concepts, automate processes, or even develop small programs. I'm also really looking forward to the new version of Gemini. For image generation I have always used Dall-E, although these days I'm exploring other options such as StableDiffusion.

NextJS: My choice for the front-end

I've tried all kinds of tools for the front, from static generators like Hugo, to template systems with simple JavaScript. Although they are very interesting tools that have their use case, in the end I'm left with NextJS and React. They may not be the simplest and they have certain problems that make me angry when I have to invent a workaround, but I have learned to live with it and in general they allow me to move forward very quickly. I also really like the current path of the new versions that have support for React Server Components, this is enough for a post that I will make soon.

Node.js: Power on the Backend

Node.js is still my workhorse for the backend. The ability to use JavaScript (or typescript) on both the frontend and the backend simplifies development. In addition, Node is asynchronous by nature and its event system makes it ideal for concurrent requests with large I/O and low CPU usage. Like everything, it has its disadvantage when you have to scale it up (using pm2 or docker) or for CPU-intensive tasks.

Go and Rust: My aces up my sleeve

For tasks that require high performance and security, Go and Rust are my aces in the sleeve. Go is incredibly efficient for building concurrent systems, while Rust offers memory safety guarantees without sacrificing speed. Both have a steep learning curve, with Rust being much more complicated than Go, but the benefits are worth it when you really need them.

MySQL: Robustness in data storage

For database management, I have always used MySQL, both managed by yourself and options such as PlanetScale or RDS on AWS are my “go to”. Although I have experimented with PostgreSQL on multiple occasions and have even used NoSQL (MongoDB), MySQL is still my default option for most projects.

Remember that you can always start by using an Excel sheet.

Cloud and serverless vs. Traditional VPS: A Personal Choice

While the serverless architecture has its advantages, I personally prefer the simplicity and control offered by a classic VPS. Maintaining a server may seem to be more laborious, but then you realize that it's much simpler and cheaper. This is a topic that I would like to discuss in more detail later.

For specific tasks, however, queues and asynchronous jobs on serverless systems can sometimes be useful. Here AWS Lambda + SQS or Cloudflare Workers are options that I like, but then in practice I have deployed very few real projects there.

I hope you found this tour of my favorite technological stack for 2024 interesting. What technologies are you using this year? Would you like me to go deeper somewhere else?

Did you find this article useful? Subscribe to my newsletter and take the first step to launch IT products faster. You will receive exclusive tips that will bring you closer to your goals.


Recent posts