Choosing the Technologies for my Website

2023-01-233 min read

This article is part 1 of a multipart series. Be sure to check out the other articles in the series.

Hello. Welcome to the series on creating this website. In this post, I'd want to discuss the frameworks, tools, and architecture I used when developing this website.

Let's get to it.

The framework

Probably the biggest choice of them all. Let's look at what my position was. I was

  • looking to build a simple, statically served website,
  • willing to learn any framework, as long as it appears to be a useful skill,
  • not willing to pay for hosting (just being honest here).

I have a thing for efficiency, so one of the first frameworks I looked at was Svelte and SvelteKit. It checked all the boxes: fast, trendy, easy deployment.

I jumped into work... and pretty quickly realised this was not it. I am writing this in retrospective, so it is a bit hard to remember, but I was probably a bit lost. I am looking forward to the next opportunity to try Svelte, though.

Enter Next.js. The promises stayed the same, but I was not afraid to try again. I downloaded the sample app and began playing with it. And it felt nicer. This was the one.

React

You must use React if you use Next.js. I've always kept a respectful distance from this framework. The prospect of learning it seemed daunting. I selected Vue for my school project two years ago, in part due to the worries I had.

From what I heard about it, it was very slow and complex.

Do not be concerned if you are reading this and are experiencing similar feelings. It turned out to be rather enjoyable, and I recommend it (at least when used with Next.js).

Typescript

Javascript or Typescript is the next choice. Well, not really. Since I really believe in static typing, this was happening.

Looking back, Typescript was not strictly necessary for such a small project and a team of one person. However, the goal has been achieved because I now have some experience with it. I later used this experience in my Master's thesis.

Content Store

This is a portfolio website, but the idea of writing articles about programming attracted me for quite some time. During the last few years I have read a lot of others' blog posts and the value I got from them was very inspiring.

So anyway, after deciding I wanted to have a blog as a part of the site, I needed something to store the posts in. Not knowing what to search for, I stumbled for a bit. Then I got to the right keyword - Headless CMS.

My pick: Sanity. Again, after filtering the paid ones, I just looked at a few pictures and picked one. I am very happy with Sanity as it is quite customizable. In essence, it provides you with a dashboard to edit the data, a way to link the data (as in relations) and an API for arbitrary queries.

Conclusion

As I had picked the technologies, I had some worries. Was this going to be one too many new things in one project? Will one of them annoy me, making me not finish this website?

I was certainly not ready to make a deep assessment before starting, so I just dove in.

Just like I dove into writing this, my first article. Well, more like an attempt at an article. Thank you dear reader for getting this far. In coming parts, we will take a look at individual parts of the website and how they came to be.