An Update

Same content new visuals.

It's been a while since the last time I wrote something on my blog. I did so much during this downtime, a mix between studying and developing some small projects of mine.

Besides, I just enrolled at a university. I'll be studying "Interfaces and Communication Technologies", in particular, a fascinating and modern mix between computer science, design, and psychology.

During this period, I updated my blog, basing it on a starter I created for GatsbyJS by implementing some ideas I've been having lately.

How I ended up with GatsbyJS

I started learning GatsbyJS at the beginning of the year, more or less. As I already know the fundamentals of React, it was an easy and straightforward process. Plus, GatsbyJS's docs are well written and simple to follow.

Although I thought about using NextJS instead, I found GatsbyJS more suitable for my purposes. I needed a fast and customizable website, something I could call mine. So here it is!

My first version was working out. However, the source code was messy and confusing as I wrote it while still learning. Moreover, I wrote the entirety of my old website in JavaScript, and I decided to power it up with TypeScript.

I will most probably talk more in detail about GatsbyJS in the future. It's a great project, and it's growing faster and faster.


Instead of writing a specific project for my blog, I ended up creating a custom GatsbyJS starter. I called it "Gatsby-starter-mike" because I had no better names, and I ended up using my own.

The idea behind it was creating a general-purpose starter I could later edit for my own needs, and apply it to another project of mine as well.

I created some Components and wrote everything in TypeScript for easy reading and debugging.

Above all, I wanted a fast website. For this purpose, I chose to try PreactJS out. Preact is an alternative library to ReactJS. It works similarly, but it's a smaller bundle size, and it runs much faster. The main difference is that it does not use a custom Event System, relying on the browser's native addEventlistener.

I also desired to be able to configure certain aspects of the website from JSON files, reading them through the use of GraphQL.

Lastly, I wanted a theme management system. By using styled-components and local storage, I was able to create a simple yet effective way to change and save the theme's preferences.

My portfolio

Since I created my website, it's always been a modest and minimal blog. I somehow wanted to maintain this feeling, despite wanting to build a portfolio too.

In the end, I preferred to separate the two. Using the main domain as my portfolio and moving the blog on a subdomain. I additionally needed to maintain old links functioning. Therefore, I redirected every old link to their new location on the subdomain. That was easy, but I managed to mess it up anyway just because of a misplaced folder.

Designing my portfolio was the hardest part. Finding a visually engaging and functional design is not painless. The current one won't be the final version for sure, as I'm not sure of anything. Still, I fond of my work.

I'd call my Portfolio a WIP still. A working one, at least, that's why I decided to update it in production already.

The Blog

The blog didn't change much visually. I updated a couple of things and changed the theme's colors completely, but I preferred to keep stuff similar to the previous version.

I liked that sense of simplicity. Overthinking it would mean overcomplicating it.

Other than that, I made a public Github repository for both my blog and portfolio. These websites are projects of mine as well, so why not making them accessible?

The same old posts are there obviously, and, hopefully, University won't take the entirety of my time, and I'll be able to write some posts every once in a while.