Who pays for carbon?
Since 2024, ships trading in Europe pay for their emissions under the EU ETS, and FuelEU Maritime adds penalties for high-carbon fuel. Most of that cost can be passed to charterers under the charter party, but only if owners can see what is owed, by whom, and how overdue it is.
Exposure lived in spreadsheets
Compliance teams reconciled allowances, invoices and disputes by hand, mixed recoverable costs with the owner's own account, and found disputes late, after the deadline to surrender allowances was close.
Aging buckets you can act on
I designed aging buckets (current, 1–30, 31–60, 60+ days) that act as filters and state the consequence of each, charterer drill-downs, a separate owner's-account section so it never blends into recoverable totals, chart/table toggles instead of stacked charts, and a dispute view that puts the bunker delivery note beside the data. Principles we set: no visual that only restates text; totals live inside their section; every number traces to a source.
Shipped and adopted
MOHA Reconciliation reduced reconciliation time by 35%. The fuel-consumption prediction redesign was adopted by two major customers within 15 days of launch. The Advantage design system I lead reduced design-to-development time by 30%.
Data integrity is a design problem
Many review findings were not visual: KPIs that didn't match the table beneath them, mislabelled chart segments, badge logic that disagreed across screens. I now check that every number reconciles across screens before polishing anything.




