about me

I'm a Product Designer based in Porto, Portugal. With a background in architecture, I naturally gravitated toward digital products, where I could combine problem solving, systems thinking, and visual design.

I'm a Product Designer based in Porto, Portugal. With a background in architecture, I naturally gravitated toward digital products, where I could combine problem solving, systems thinking, and visual design.

Today, I work across product design, UI/UX, and no-code, creating digital experiences for startups, businesses, and creators.

Today, I work across product design, UI/UX, and no-code, creating digital experiences for startups, businesses, and creators.

Outside of client work, I co-founded Linnea Studios, where I continue designing, building, and improving digital products for clients and personal projects alike.

Outside of client work, I co-founded Linnea Studios, where I continue designing, building, and improving digital products for clients and personal projects alike.

A thoughtful young person with dark hair gazes to the side, captured in soft black and white lighting.
A thoughtful young person with dark hair gazes to the side, captured in soft black and white lighting.

How AI fits

into my work

How AI fits

into my work

How AI fits

into my work

Everyone’s talking about AI right now, so here’s my take: two moments, both with me still doing the work.

Everyone’s talking about AI right now, so here’s my take: two moments, both with me still doing the work.

debugging-search-overlay

debugging-search-overlay

FILIPE

FILIPE

FILIPE

Instant search overlay isn't closing on outside click, only on Esc. Here's the snippet.

Instant search overlay isn't closing on outside click, only on Esc. Here's the snippet.

Instant search overlay isn't closing on outside click, only on Esc. Here's the snippet.

CLAUDE

CLAUDE

The "click outside" check is running before the overlay finishes loading, so it's not catching real clicks yet. Add a small delay before it starts listening.

The "click outside" check is running before the overlay finishes loading, so it's not catching real clicks yet. Add a small delay before it starts listening.

CLAUDE

The "click outside" check is running before the overlay finishes loading, so it's not catching real clicks yet. Add a small delay before it starts listening.

FILIPE

That fixed it. Back to building the rest in Webflow.

FILIPE

That fixed it. Back to building the rest in Webflow.

01

01

EXPLORING

EXPLORING

EXPLORING

Layout directions

Layout directions

Talking through a few structural approaches before committing to one, then building it myself in Framer or Webflow.

Talking through a few structural approaches before committing to one, then building it myself in Framer or Webflow.

Talking through a few structural approaches before committing to one, then building it myself in Framer or Webflow.

single scroll page

single scroll page

tabbed sections

tabbed sections

02

02

BUILDING

BUILDING

BUILDING

Debugging custom features

Debugging custom features

Custom features rarely work first try. Search bars, filters, anything beyond the div structure — I write it, break it, and debug it with AI until it's right.

Custom features never work first try. Search bars, filters, anything beyond the div structure — I write it, break it, and debug it with AI until it's right.

Custom features rarely work first try. Search bars, filters, anything beyond the div structure — I write it, break it, and debug it with AI until it's right.

filter resets on scroll

filter state persists