Welcome to my new portfolio
It is march 2023, and today I released the new version of my portfolio. My last portfolio dates back to 2021. It had a much more different vibe with a mix of space exploration and programming, two of my passions.
Challenges with my last portfolio
The main challenge with my last portfolio was maintainability. I had many projects over the year but it was hard to showcase all of that as I had to jump back into the code in order to add new content. On this new iteration, I choose to integrate to tools I use everyday.
Landing page integrations
First thing first, my landing page has some server side rendered content from my GitHub Profile with some homemade components such as the graph (more about this in another article) for my contributions, pinned repo, … This is very convenient so that now when I create new projects on GitHub, I can pin the work so that it appears both on my GitHub profile and on my portfolio. My contributions are also updated in real time, so I don’t even have to change anything for it to be displayed.
Blog
Now for the blog posts, I chose to use Notion in order to create them. A simple Notion database, with all the metadata for SEO, and the generated page for the content. All this is powered by a markdown rendering engine and statically generated (with revalidation) so that it is as fast as possible.
About the tech
To accomplish that, I used next.js in its last version with the app dir experimental feature. This helped overcome many challenges such as static generation, dynamic routing. Plus, with the app dir, server components are blazingly fast and performant. Finally, images are quite complex to cache, so with next and vercel image optimization, I won’t worry about image size and Notion images download speed.