Perspectives
October 13, 2025

The Return of Function Over Form

Cover
Daniel Lopes
Daniel Lopes

I was recently helping our CEO Marcel set up VS Code + Claude Code with our code base. Watching him, a world-class marketer and ex-graphic designer, crank out perfect working (static) prototypes for our products faster than any designer could draw them in Figma, got me thinking.

I'm turning 40 next year. Started coding desktop apps with Delphi at 16, back when most people didn't expect software to be pretty. Just useful.

Remember those days? Every Windows (or Mac) app looked basically the same. Grey boxes, standard buttons, those weird 3D-looking borders. The components were there, pre-made, take-it-or-leave-it. We focused on making things work — solving actual problems, structuring information sensibly, creating logical flows.

No one was winning design awards. But people got shit done.

Then the mid-2000s hit. First Flash, then better HTML/CSS. Suddenly the pixel-pushers took the front seat. I did this full-time for a while, countless hours creating static mockups then converting it into actual code.

Entire teams dedicated to this translation work.

The idea of standardized components with simple theming options always made sense to me, even before "design systems" became the hot topic.

AI Just Changed Everything

But AI has reshuffled the deck. Open-source design systems paired with generative tools have obliterated the old workflow. There's no justification for wasting days in Figma anymore when the meaningful aspects of product design are now accessible through code: flow, screens, copy, real data. Lorem Ipsum?! F that! One prompt gets you realistic content that actually helps you design better.

Figma is waste. Teams should be setting up environments where product designers work with the actual materials — the real components, the real data, the real constraints — not playing in a fantasy land.

Here, we use Shadcn components for everything. We might add a custom theme, but that's about it. The real work happens in figuring out what's needed, how it functions, the number of screens and steps to complete a task.

For early-stage companies especially, this shift is existential:

First, you can't afford the time it takes to create your own design system. You might be dead in a year.

Second, what are the odds that your small team has world-class designers and frontend engineers to create something truly exceptional?

Third, who actually cares if your product looks exactly like every other product using the same component library? If it solves the problem effectively and offers a great experience — that's what matters.

We've come full circle. Back to the Delphi days in spirit, but with better tools. Standard components, focus on function, respect for user time.