Context
A small trading desk, losing deals to the clock
Geoserve's traders were losing fuel inquiries to the clock - jumping between Splash, news websites, WhatsApp, and spreadsheets just to answer a single pricing question. I turned that fragmented workflow into a production-ready 0→1 platform in 5 days.
One interface for:
- Live fuel pricing
- Port & bunkering data
- Deal flow
- Real-time port mapping
The goal wasn't just a better dashboard. It was to design around how traders actually work - faster decisions, fewer tools, and no lost inquiries. And the best part? 5 days to design. 5 days to build.
The challenge
Getting to the real problem, not the relayed version of it
The brief came through the business team with gaps and assumptions that didn't reflect how traders actually worked. Instead of iterating on secondhand requirements, I went directly to the traders to understand the real problems.
That surfaced three key constraints:
My role
Owning the problem past the design file
I led the research, worked directly with traders, shaped the product scope with the CTO, and defined the two core modules.
When the existing platform couldn't support key features, I took ownership beyond design - proving feasibility, aligning teams, and driving the work through implementation.
Leadership
Turning a "that'll take too long" into a shipped feature
Two features came directly from trader research: distance calculation between ports and fuel pricing by port. Both required new APIs and logic, and the tech team wasn't resourced to build them. They were also hesitant about using AI for development.
So I built working prototypes myself using dummy data, free APIs, and Claude Code to prove feasibility. I took them to the CTO, who backed the approach and assigned a developer to build them.
I also took ownership beyond design - supporting implementation and QA. Both features shipped in five days, with fewer bugs than a typical build.
Prototyping the feature myself wasn't about proving I could code. It was the fastest way to turn a stalled decision into a shipped one - and it's changed how I bring new ideas to engineering ever since: show a working version before asking for buy-in on the idea alone.
Product thinking
Three traders, four decisions
With direct access secured, I ran structured interviews with the core users - a Senior Trader, a Trader, and a Sales lead. Each had a different workflow and different gaps in the existing system.
Four themes shaped the design direction:
Working with traders, I defined two core modules:
GeoStem Dashboard - live pricing, port intelligence, and deal pipeline.
Distance Calculator - weather routing, waypoint planning, and structured reports.
Both were built on a shared design system, developed alongside the first module.
What actually shipped
Live fuel price chart
A full-screen TradingView-powered commodity view for Brent, Crude, and Natural Gas, with six key price stats and instant colour-coded deltas.
The view was built directly in Claude using the design system we created, turning the designed patterns into a functional interface.
Interactive global port map
A Leaflet-based port map with a custom dark navy tile treatment. Clicking a port surfaces fuel grades (VLSFO, HSFO, LSMGO), weather conditions, top sellers, and nearby ports - including the distance calculator and per-port fuel pricing, the two features that took a CTO's intervention to get built. An overlays panel adds maritime context - ECA zones, piracy areas, storm routing, and base layer modes.
Systems
Created a design system as skill which can be used for upcoming features
Every token, component, and pattern built for the GeoStem dashboard was designed to outlive it. The same system now powers the Voyage Optimisation Report, plus validation screens and onboarding flows added later - without a single redesign.
Outcome
What changed for the traders
GeoStem replaced 4 fragmented tools - traders stopped opening them entirely. The number that matters most: responding to a fuel inquiry, which used to take 15-20 minutes of checking prices across tools, now takes 3-5 minutes. Deal pipeline visibility, which didn't exist before, is now a single view traders check without switching tabs.
Reflection
What I'd do differently
I ran the trader interviews directly, but in hindsight, I should have brought the Product Manager into those conversations. It would have reduced the back-and-forth, avoided re-explaining findings, and created alignment earlier.