Working remotely
Global clients
Open to select work
I build polished, complex product interfaces.
I turn product and design thinking into React and TypeScript front ends — dashboards, SaaS consoles and design systems where density, state and accessibility all have to hold at once.
Selected work
All projects →Three featured projects; the full index is one click away. All self-directed showcase work — designed and built end to end to explore specific frontend problems. No client claims, no invented metrics.
Resolve
A support operations platform where a shift lead lives in one screen all day. Omnichannel intake, SLA-aware queues, rule-based routing, escalation into engineering, and a knowledge base drafted from tickets that were already solved.
Merchanta
Wholesale purchasing end to end, for the buying side and the selling side at once. Tier pricing and minimum order quantities, multi-supplier bulk orders, RFQ negotiation with an audit trail, and a vendor portal reading the same price list.
A quote round is a row: list, requested and countered price side by side, so a negotiation can still be read months later.
Aurelia
A sales experience for twenty-eight private residences in Lisbon, where the product is a photograph, an area and an aspect. Bedrooms, collection and outlook drive the filtering; every home resolves to a page an advisor can send.
The appointment request is three steps on one screen — date, time, details. It is the only conversion the site has.
What I actually do
Product interfaces
Dense, stateful screens — inboxes, tables, editors — that stay legible under real data.
Design systems
Token architecture, component APIs and documentation that teams can extend without me.
Frontend architecture
State boundaries, data-fetching strategy and rendering choices that keep bundles honest.
Interaction & motion
Purposeful transitions and optimistic feedback, specified as tokens rather than improvised.
Accessibility
WCAG 2.2 AA as a floor: keyboard models for complex widgets and focus that survives refactors.
Design-to-code
Taking a file — or a rough direction — to a faithful, maintainable implementation.
Have an interface that has to hold up?
Product teams, design systems, and rescues of front ends that outgrew their first architecture.