Work
More cases
Browsing aisles that don't exist
Category navigation in the Bemol app had grown by accretion, not by design. This redesign rebuilt it around how people actually look for things, tested in a physical store, with customers and staff.


The screen everyone visits and nobody designed
The profile section of the Bemol app had become a drawer for anything that didn't fit elsewhere. Reordering it around what people actually opened moved every feature it contained.
One decision, many screens
A design system is an argument about which decisions get made once. Calling it a component library names the output and skips the work. This is the work: finding those decisions across a product that had already shipped for years. The components below run live, rebuilt in this site's own tokens.

Credit without the counter
Taking out a loan at Bemol meant going to a store. For customers across Amazonas, many of them hours from the nearest one, that was a wall rather than a friction. This brought loans into the app for the first time.

Neon rain over the Amazon
A cyberpunk personal page built during a course on AI prototyping. No client, no metric, no brief: the point was to find out how far I could get building something myself, and where the limit actually sits.
Also shipped
The rest of the shipped work: smaller, older, or under NDA. Each has a short page with the screens and the lesson that stuck.
Bemol Saúde
Booking flow for medical appointments and lab exams inside the retail app, including a home-collection service coordinated with mobile teams.
The logistics were the design problem: home collection needed a mandatory hour between appointments, so the interface only ever offered slots that already accounted for it. Left a reusable scheduling pattern behind. Concept, not built.
A bit more about this one →Omnia
Factory control system for a telecom equipment manufacturer, replacing six separate systems with one, from production line to distribution tracking.
Rolled out gradually over a year without ever stopping production, which was the binding constraint from day one. Under NDA, so sensitive screens and numbers stay out.
A bit more about this one →Bemol App relaunch
Rebuild of the main retail app during the pandemic, covering browsing, payment and account management.
Speed won over discovery, and testing later showed exactly where that cost us: search and taxonomy. The fixes shipped before launch. The lesson is why the Categories work happened at all.
A bit more about this one →Medal programme
Turning a cosmetic loyalty badge into a working rewards programme, with tiers, points and real benefits across store, app and web.
A two-day discovery with product, engineering, QA and marketing set the tiers. Good example of a feature that only works if the incentives are agreed before the interface is drawn.
A bit more about this one →Black Friday
A temporary dark theme and discount badge across app, site and physical stores, timed with the campaign.
Small in scope, useful as a constraint exercise: one week live, no room to fix anything after launch. Sales were the strongest in years, but the attribution belongs to the campaign as a whole.
A bit more about this one →Agency and freelance
Concept and interface work for a range of clients, between the Apple Developer Academy and joining Bemol.
Where the speed came from. Tight deadlines forced a shared style guide and a repeatable process: the first time I built a system because the pace demanded one, not because a brief asked.
A bit more about this one →
