A fresh take on portfolio design, balancing minimalism with personality through widget-based interactions.
I planned to redesign my portfolio once a year, but in my first year of university I ended up iterating twice. One version explored a highly interactive book format, but the complexity distracted from the content. Another went in the opposite direction and became too minimal.
I also tried a more "playful" concept, but it felt like I was chasing an interesting look rather than something that truly represented me and my skills.
This iteration nearly became my current portfolio
These experiments taught me something important: great design balances clarity with character.
While working on my laptop I noticed how elegantly widgets present information. They are modular, compact, and expressive. That sparked the idea: what if my entire portfolio worked like a widget layout?
I started by recreating widgets from scratch, beginning with the music widget. Each one had its own style and autonomy, independent of the interface.
After feedback, I unified the background color to create cohesion and reduce visual noise, letting personality come through in the content and micro-interactions.
The first iteration used a two-column layout with plenty of white space, which made the main page balanced and easy to scan. I placed the key widgets at the top and arranged supporting content below. Over time, I realised I wanted to combine a “CV” style text layout with highly interactive widgets that naturally drew attention.
This became an interesting challenge: how to create a concise interface that merged two different design approaches. The result is the current version of the website, where widgets remain an important part of the design but work in support of the text.
The Posts section draws inspiration from various pages on Minimal Gallery and from my friend Tomas Maillo , both of which emphasise minimal yet visually engaging layouts.
I built this project with Next.js and Tailwind CSS. A flexible stack with strong SEO control and room for future database-driven features.
For interactivity, I used Framer Motion, a powerful library for smooth animations. Its layout transitions are unmatched. For anyone interested in how it works under the hood, I recommend Nanda Syahrasyad's blog .
I'm actively building new widgets, refining interactivity, and exploring better UX patterns to make the site more intuitive and engaging.
Check back soon for updates!