SupplySafe
SupplySafe runs four autonomous agents that search the live web for supplier disruptions, trace the cascade through your bill of materials and open orders, calculate your exact revenue at risk, and draft the supplier emails and customer notices — before you knew there was a problem.
Built because supply chain failures are boring until they cost millions.
Every manufacturer I've spoken to manages supply chain risk the same way: they wait. They wait for the shipment that doesn't arrive. They wait for the supplier email that never comes. They wait until a production line stops and then they react — at full cost, under full pressure, with no options left. I built SupplySafe so that the manufacturer finds out about the Shenzhen port disruption on Monday morning — not on Thursday afternoon when the parts don't arrive.
Overview
Four autonomous agents work simultaneously: one searches the live web for supplier disruptions, one traces the cascade through your bill of materials and open orders, one calculates exact revenue at risk, one drafts personalised supplier emails and customer notices. Everything lands in an approval queue. Nothing sends without a human click.
The Cascade the Human Never Traces
Any manufacturer can Google their supplier's name. What they cannot do — not manually, not at the speed disruptions require — is trace what that supplier's problem means for their specific inventory, their specific products, and their specific customer orders in the next 8 to 12 production days. SupplySafe's Order Risk Agent does this in pure Python across four database tables: flagged supplier → affected raw materials → bill of materials → open customer orders. The traversal is deterministic and completes in under 2 seconds. No LLM is used for this step — not because it couldn't be, but because deterministic logic should never be given to a model that can hallucinate. The LLM's job is to reason about unstructured web content. The database's job is to know the facts. Keeping these two responsibilities separate is the architectural decision that makes the output reliable enough to act on.
Four Agents. One Shared State. Zero Pre-Written Rules.
The pipeline runs on LangGraph — a Python agent orchestration framework that maintains a shared state object across all four agents. Every agent reads what the previous agent concluded and builds on it. Agent 1 writes which suppliers are flagged. Agent 2 reads that and writes which orders are at risk. Agent 3 reads that and writes how much revenue is exposed. Agent 4 reads everything and writes the draft communications. The supplier risk is not detected by a rule that says if news contains port then flag. It is detected by Groq's Llama 3.3 70b reading an unstructured news article and reasoning — in context, about this specific supplier, for this specific manufacturer — whether it represents a genuine production risk. That judgment cannot be pre-written. That is what makes it agentic. The backend runs as a FastAPI application on Oracle Cloud, managed permanently by PM2 with a Cloudflare Tunnel providing public HTTPS access. Infrastructure cost across all layers: zero.
Whatmadeitwork.
If I rebuilt it: I'd add a confidence score to each supplier disruption finding so the reviewer knows which alerts are based on strong signals versus ambiguous reporting. The cascade logic is deterministic and reliable — but the upstream web reasoning varies in certainty, and the reviewer currently has no way to see that from the queue.
$190,117atRisk.Detected.Traced.Drafted.InUnder60Seconds.
SupplySafe is live in production on Oracle Cloud. The first full agent run on the NovaBrew Equipment Co. demo dataset — six international suppliers, 35 customer orders, 12 raw materials — identified $190,117 in total revenue at risk, traced the cascade across two simultaneous supplier disruptions, produced five customer delay notices and two supplier status emails, all addressed to the correct named contacts at the correct companies about the correct specific orders, and deposited all eight drafts in the approval queue — every one inside the 60-second window. No rule was written for Shenzhen port congestion. No rule was written for semiconductor shortages. The system found both events on the live web, reasoned about their relevance to this manufacturer, and traced their impact through the supply chain without any human instruction. The operations manager who used to find out on Thursday when the shipment didn't arrive now finds out on Monday at 7am, with the emails already written, before production ever stops.


