The supply chain
six partners never had.
The world’s largest CDMO ran six pharma partnerships on spreadsheets and phone calls. I designed the platform that changed that — a 0→1 build giving every partner real-time visibility across nine manufacturing sites.
The world’s largest CDMO,
running on spreadsheets.
32 interviews traced it to one root cause: no shared source of truth. Each side tracked performance independently — different KPIs, no common view. Exceptions surfaced 2–4 days after commit dates, when rescheduling cost 3–5× more than prevention. The data existed. The visibility didn’t.
Five modules.
One shared reality.
Each failure mode from research became a design brief. Five modules, each solving one problem — together replacing the web of spreadsheets, phone calls, and email chains that connected Thermo Fisher to its partners.
| Order # | Customer | Product | Site | Qty | Commit Date | Status | Deviation |
|---|---|---|---|---|---|---|---|
| MNZ-0442 | GSK | Cetraxal Inj 10mg/mL | Monza | 12,000 u | 15-MAR-2021 | Late | TW-3812 — HIGH |
| FER-0298 | MediCoPharma | Lyovac Powder 500mg | Ferentino | 8,400 u | 20-MAR-2021 | Delayed | TW-3798 — MED |
| GVL-0157 | Amgen | SteriVial 250mL | Greenville | 6,200 u | 28-FEB-2021 | Late | TW-3791 — HIGH |
| MNZ-0438 | BioHorizoCo | Oncovex-B Biologic | Monza | 2,000 u | 05-APR-2021 | Delayed | TW-3787 — MED |
| MNZ-0441 | GSK | Cetraxal Inj 10mg/mL | Monza | 8,000 u | 22-MAR-2021 | On Track | — |
| FER-0301 | PMJ | Bebbra 20mg Caps | Ferentino | 15,000 u | 10-APR-2021 | Confirmed | — |
| Forecast Name | Customer | Period | Version | Status | Last Updated | Action |
|---|---|---|---|---|---|---|
| ACetraxal Inj — Q2 2020 | GSM | Apr–Jun 2020 | v3 | Approved | 10-MAR-2020 | |
| ULyovac Powder — H1 2020 | MediCoPharma | Jan–Jun 2020 | v2 | Under Review | 08-MAR-2020 | |
| UCetraxal Inj — Q3 2020 | GSM | Jul–Sep 2020 | v1 | Under Review | 28-FEB-2020 | |
| DSteriVial Saline — Annual 2020 | PMJ | Jan–Dec 2020 | v1 | Draft | 05-MAR-2020 | Awaiting submission |
| ANovaSol Infusion — Q2 2020 | Zenith Pharma | Apr–Jun 2020 | v2 | Approved | 01-MAR-2020 |
| Product | Jan ’20 | Feb ’20 | Mar ’20 | Apr ’20 | May ’20 | Jun ’20 |
|---|---|---|---|---|---|---|
| LYOVAC | ||||||
| Lyovac Powder 500mg | 8,200 | 7,800 | 9,100▲+12% | 8,400 | 7,600▼−9% | 8,900 |
| Lyovac Powder 250mg | 4,100 | 3,900 | 4,400 | 4,200▲+8% | 3,800 | 4,600▲+15% |
| STERILE INJECTABLES | ||||||
| Cetraxal Inj 10mg/mL | 22,000 | 18,500 | 24,000▲+18% | 21,000 | 19,000 | 23,500 |
| SteriVial 250mL | 6,800 | 6,200▼−6% | 7,100 | 6,500 | 6,000▼−8% | 7,400 |
| Line / Month | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Ferentino | |||||||||||
| ST 1 Liq & Lyo | 42% | 58% | 72% | 78% | 86% | 92% | 88% | 76% | 70% | 74% | 80% |
| ST 2 Liq & Lyo | 55% | 68% | 75% | — | 70% | 107% | 102% | 112% | 95% | 90% | 86% |
| ST 3 Liq & Lyo | 38% | 44% | 52% | 60% | 72% | 78% | 74% | 62% | 48% | 56% | 70% |
| Monza | |||||||||||
| Fill Line 1 | 72% | 78% | 85% | 92% | 102% | 96% | 90% | 85% | 76% | 88% | 105% |
| Visual Inspection | 58% | 66% | 74% | 85% | 90% | 86% | 78% | 72% | 64% | 76% | 80% |
| Greenville | |||||||||||
| Fill & Finish 1 | 60% | 70% | 78% | 102% | 92% | 80% | — | 68% | 74% | 80% | 86% |
| Lyophilization | 35% | 42% | 50% | 56% | 62% | 70% | 58% | 44% | 50% | 54% | 62% |
Same problems.
Different architecture.
mySupply was pull-based by necessity — someone still had to open it to see what was wrong. The five modules are now five agents running continuously: exceptions classified and routed before a manager logs in, document gaps flagged 9 days before the release gate, forecast drift caught weeks before the S&OP meeting. One human gate stays — batch QA release, where a regulatory signature is irreplaceable.