← Jiaqi (Evey) Gou Case 02 / 04 · Professional
Capgemini × Michelin · Internal tool · 0→1

Turning a process nobody agreed on into software

Michelin needed to automate tire transfers between front warehouses (FDCs) and distribution centers. The catch: no two teams described the process the same way. One engineer and I took it from disagreement to a production system.

Role
Product & system owner, end to end
Team
Me + one developer
When
2023 · launched to production
Outcome
Automated transfers across 100+ dealers
01 — The problem

Transfers were handled manually, in-transit inventory drifted out of sync, and errors reached dealers. But the deeper issue was upstream of software: logistics, warehouse and business teams each held a partial, often conflicting picture of how transfers actually worked — who triggers them, how much moves, what happens when data is wrong.

You can't automate a process that hasn't been defined. So the first product was the process itself.

02 — How it got built
01
Discover
10+ cross-team sessions to reconstruct the real process
02
Align
One agreed workflow, ownership lines and exception rules
03
Specify
Calculation logic, roles, UI, data model, interfaces
04
Build
1:1 with the developer; schema co-designed
05
Test
In the UI and directly in the database
06
Launch & fix
Production launch, hotfix days later, then iteration
03 — What I designed

The spec I wrote was part PRD, part functional specification, part data contract. At its core was the transfer engine's logic:

Remaining inventory
Compare target inventory against physical stock per warehouse
Replenish or return
Decide whether each FDC needs stock or should send it back
Goods in transit
Account for what's already moving so nothing ships twice
Constrained allocation
When stock is short, allocate by warehouse priority
Fail loudly
Stop and surface exceptions when input data is invalid
Operator controls
Roles, uploads with validation, search, edit, support re-runs
04 — Where it sits
Order system
OCT
Available inventory, sales inputs, warehouse mappings
→←
New · 0→1
FDC Engine
Calculates transfers, tracks state, flags exceptions
→←
Transport
TMS
Transfer outputs out; in-transit balances and arrivals back

I defined each interface down to field level and co-designed the database schema with the developer, so the data model mirrored the workflow, calculations, statuses and exceptions.

05 — Outcome
100+
dealers served by automated transfers, with fewer manual errors
2
people from undefined process to production — and through the first hotfix
06 — What it shows

I didn't document a process that existed. I helped define it, then formalized it into rules, data and software — and stayed through launch day and the bug that followed.

Next case · 03 Trip Together →