Skip to content

The longer version

I build with intent.

Most engineers learn to code and then learn, slowly and expensively, what people actually need. I did it the other way around.

The training nobody sees

I studied Interactive Media Design at Universidad Icesi (UX and Human-Computer Interaction). Five years of studying how humans read a screen, where their attention goes, why a flow that tests perfectly on paper falls apart in someone’s hands. I learned to prototype, to test, to throw away work that didn’t serve anyone.

Then I started writing production code, and I discovered something nobody had told me: that training doesn’t switch off. It sat underneath every technical decision I made. Where another engineer saw a ticket, I saw a moment in someone’s day. It made me slower at first. It has made me considerably faster ever since.

Systems, not screens

Design school taught me systems thinking before software taught me architecture, and the two turned out to be the same discipline with different vocabularies. A component library is a design system. A data model is an information architecture. A deployment pipeline is a user flow with engineers as the users.

So I don’t build features in isolation. I ask what this becomes when there are forty of them, when a new engineer joins in six months, when the client asks for the thing they always ask for two quarters after launch. That instinct is why I ended up owning frontend architecture, then delivery, then the technical direction of a team.

The translator in the room

The part of the job I’m best at isn’t the code. It’s the hour before the code, in a room with a product manager, a designer, and a requirement that means four different things to four different people.

I turn that into acceptance criteria, architecture decisions, and milestones a team can actually ship. Most engineers wait for the spec. I’ve learned that the spec is the work, and that the person who writes it decides what gets built.

What I’m building toward

Right now I’m technical lead on two AI-powered products, prototyping LLM-integrated features and establishing the AI-assisted development patterns my team ships with. Agentic coding workflows, spec-driven development, tooling that compresses the distance between an idea and a working prototype.

I’m enthusiastic about it and clear-eyed about it. AI has genuinely changed how fast I can move. It has not changed who decides what “good” means. The judgment, the taste, the architecture, the responsibility for what ships. That stays human, and I intend to keep it that way while getting very, very fast at everything around it.

What’s next is a room where that combination matters: product engineering at depth, technical leadership, and a team that wants to build the next thing properly.