New national regulations changed how hydrocarbon distribution had to be measured, calculated and reported. For Mexico's largest state-owned energy company, that meant purpose-built software — four specialized desktop products for the calculation chain. I led the UX team across all four, and owned the executive reporting product end to end.
Mexico introduced new national rules for how hydrocarbons are distributed and how that distribution is calculated. For the country's largest state-owned energy company, compliance wasn't a reporting exercise — it changed the underlying operational math, and the existing tools couldn't produce it.
What the business needed wasn't a dashboard. It needed software that could hold the entire calculation chain — nominations, physical stock, operating ranges, transport capacities, validation, balances and reporting — with enough precision that the numbers could stand up to a regulator, and enough clarity that a logistics executive could act on them.
Every stage feeds the next. A rounding decision at nomination surfaces as a discrepancy at balance — which is exactly why the products had to be designed as a family rather than as separate tools.
Each product handled a section of the chain, but they shared a navigation model, a data language and an interaction pattern for dense tabular work — so an engineer moving between them didn't have to relearn anything.
The operational core: capturing nominations, tracking physical stock across batteries and tanks, setting and validating operating ranges and transport capacities, and reconciling balances — all with the precision the new regulation demanded.
A report visualizer for hydrocarbon logistics executives. I was responsible for this product from end to end — including the information analysis and the database work behind what it could show and how fast it could show it.
These weren't web products with room to breathe. They were desktop applications inside a state-owned operator's environment, and several design decisions were made by the constraints rather than by preference.
Desktop application constraints shaped what was possible in layout, interaction and rendering — the design had to work within them, not around them.
Operating inside a state-owned company's environment meant security rules that limited how data could move, be exported and be displayed.
Volumes, densities, API gravity, sulphur, salinity, pressure, temperature — every field carried operational and regulatory weight. No field was decorative.
Specialists needed many rows visible at once. Simplifying by hiding data would have made the products slower to use, not easier.
Four products against a regulatory deadline could not be designed in parallel by a small team. We staged them — building, validating and shipping one before opening the next, so each product inherited what the previous one had already proven.
I spent years working directly with the client's specialist engineers. In a domain this technical, requirements can't be handed over in a document — the design had to be built from their working knowledge of how hydrocarbons are actually measured and moved.
Each stage ran the Lean UX loop with the specialists as the validating users: assumptions made explicit, designs tested against real operational cases, and corrections folded in before the next product started.
Every solved problem — table density, validation feedback, navigation between modules — became a pattern the next product started from. Staging turned sequence into an advantage instead of a delay.
I led the UX team across the four products, keeping the shared language consistent while each designer went deep on their own part of the chain.
The design language stayed deliberately quiet: a persistent module rail, a fixed action bar, a period selector, and cards that group tables by location or by stage — so attention stays on the numbers.
The module rail on the left, the period selector above it, and a notification centre that surfaces what needs attention — with the export action to the operator's own logistics system kept at the top right.
Header records above, line-by-line detail below: reception point, quantity received, water content, API gravity, sulphur, salinity, pressure and temperature. Out-of-range values are flagged in the cell itself, where the correction happens.
Tank inventory grouped into cards per location, each with gross, net and cushion volumes — comparable at a glance, editable in place, and scannable without scrolling through a single monolithic table.
This project taught me that in a technical domain, the designer's first job is to earn the domain. You cannot simplify a calculation you don't understand — and the specialists could tell immediately whether I had done the work. Sitting with the engineers for years is what made the designs credible, and it's why I still start by learning the math before touching the interface.
The highlighted line is a placeholder in your voice — replace it with the lesson that feels most true to you.