22 Feb 2024 • 5 MIN READ
Project type
Website
Year
2022
Roles
Developer, Designer
Tools and technologies
SvelteKit, TypeScript, Tailwind, Sanity, Figma
This is the case study of the 2022 version of my personal portfolio website. On my portfolio, people can find links to my social profiles, read some information about myself, take a look at my latest and most representative projects, read case studies and blog articles, and get in touch with me.
As a software engineer with a heavy focus on frontend engineering, I think it’s important to have a portfolio. It’s not strictly necessary, and some people can find jobs without having one, but I’m a firm believer that having a good portfolio can make your profile stand out from other candidates during a competitive hiring process.
For this reason I’ve gotten used to revamp my website almost every year. In a year your experience grows, you build new projects, you continue to develop your design taste, new libraries come out, you get tired of some technologies you were previously using or you might even decide to change your focus and rebrand yourself completely.
When doing a redesign it’s very important to perform a thorough design analysis of the current state of the project, in order to highlight what was already working and to identify possible areas of improvement. This preliminary step is also fundamental, because the more time you put in at this stage, the lower are the chances of needing to make changes in production, when it’s a lot more expensive to operate.
By analyzing the 2020 version of my portfolio, I took the following negative notes:
On the positive side, I thought the following points were actually decent:
At the end of this preliminary design analysis, I had collected enough feedback notes (21 total: 15 negative, 6 positive) to know with certainty that my previous portfolio needed to be reworked, as it didn’t meet my standards anymore.
On the development side of things, the 2020 version was very simple and it comprised of the following few technologies:
In 2020, when I chose Gatsby and SCSS, I was using Wordpress for some projects, and Gatsby was very appealing to me because it had lots and lots of plugins that were easy to add and required little configuration. I also liked SCSS quite a bit, because it allowed me to nest selectors and get access to a wide range of built-in modules - such as
sass:colors- that were very handy to mix and adjust colors.
Despite its positives, I wouldn’t pick Gatsby again because it forces you to use GraphQL for pretty much anything related to data. I don’t mind GraphQL and I think it’s an amazing query language, but I felt uncomfortable using it for everything, and at some point it just became a burden.
Regarding SCSS, I would pick it anytime over vanilla CSS, but I currently enjoy CSS-in-JS and utility classes frameworks like Tailwind more, because it’s easier to encode certain behaviors when the bridge between JS and CSS is very thin, they have a really good optimization layer and they avoid ending up with colliding CSS class names.
Hence, yet again, it was clear I was also feeling the need to change the technologies I was using.
At the end of these preliminary analysis sessions, I had collected enough feedback notes to know what I needed to change in order to get to the final result I had in mind.
During the design phase I often referenced the feedback notes (both positive and negative), which were instrumental to make the following very targeted design decisions:
In addition to all that I also decided to add a dedicated blog section for case studies and articles, as well as a footer.
For the 2022 version, I decided to switch from Gatsby to SvelteKit since in the past 2 years I’ve become a huge Svelte fan. I still like React a lot, but now I cherry pick the right framework/UI library for the type of project I’m about to work on. For styling, I moved from SCSS to Tailwind, which I enjoy a lot. I also moved all my content from being hard-coded in the codebase to Sanity, a headless CMS that allows me to edit and add content with a lot more ease.