
About the project
A bespoke digital portfolio for João Ventura, a creative designer who needed a platform that matched the quality of his work — minimal, refined, and fully under his control.
The challenge
João needed more than a template. His portfolio had to reflect his design sensibility — clean typography, smooth transitions, and an immersive way to present visual work — while also giving him the independence to add, remove, and update projects without touching any code.
What I built
I developed the site from the ground up using Nuxt.js and Tailwind CSS, with Storyblok as the headless CMS powering all content. The result is a fast, polished portfolio with a full-viewport animated carousel as the centrepiece, support for both images and video in project showcases, and a dark/light mode toggle.
My role
Translated the designer's vision into a fully custom Nuxt.js frontend
Designed and implemented the content model in Storyblok, giving João full editorial control
Built the animated carousel and transitions with performance in mind
Implemented dark/light mode and responsive layout across devices
Handled deployment and ongoing maintainability
Outcome
João manages his entire portfolio independently through Storyblok — adding new projects, updating case studies, and publishing work without any developer involvement.

