Inspiration Construction projects don't find out a material is late when it's actually late — they find out when the truck doesn't show up, weeks after the warning signs were already sitting in an inbox. A bounced submittal, a vendor going vague on dispatch dates, a port advisory nobody read twice — the evidence exists early, but it's scattered across five systems that never talk to each other. In India specifically, most of that evidence never even makes it into a platform at all — it lives in WhatsApp threads and handwritten challans. We wanted to build the thing that actually stitches that mess together, before the dashboard problem, not after it. What it does SlipCast turns a project's procurement traffic — vendor emails, PO confirmations, submittal events, delivery challans, WhatsApp updates — into a live event stream. For every material, it maintains an honest probability of on-time arrival, one that widens when a vendor goes quiet and only partially recovers on a new promise. It then runs that forecast through the project's critical path, so it only raises an alert when a delay would actually move the finish date — a late item sitting on weeks of float stays silent by design. When risk crosses the line, it drafts the vendor chase and the PM escalation; a human still clicks send. How we built it The core is an append-only, per-material event ledger — every procurement artifact becomes an event, and all downstream state is just a fold over that log, which is what makes replay and audit free features rather than extra work. On top of that sits a per-vendor survival-curve risk engine (lognormal fits on historical promised-vs-actual behavior, shifted by evidence like bounces and evasive replies), a CPM schedule-impact engine for float-aware pricing, and a Monte Carlo layer for portfolio-level "will we finish on time" odds. Our demo runs this end-to-end on a seeded synthetic ₹800-crore data-center project — 18 tasks, 12 vendors, 41 procurement events — compressed into a ~37-second replay dashboard. Challenges we ran into The hardest part wasn't the forecasting math — it was discipline. A tool that flags every late item becomes noise a PM ignores by week two, and since roughly a third of all submittals bounce, a naive bounce-alarm would cry wolf constantly. We had to build hysteresis bands so alerts don't flicker, and make float-awareness structural rather than a tunable knob, so the fire-suppression system's bounce (buffered by weeks of float) stays green while the zero-float chiller's bounce correctly goes amber. We were also careful never to claim accuracy from synthetic data — the demo proves the mechanism works, not that it's calibrated on the real world yet. Accomplishments we're proud of Getting the "silence is the product" behavior actually working end-to-end: three submittal bounces seeded across two materials in the demo, and only the one on the critical path raises a flag. That's the whole thesis of the product in one seven-second moment of the replay. What we learned That the moat here isn't a smarter model, it's an architecture decision: treating expediting as a stream-processing and calibration problem instead of a chatbot-over-a-dashboard problem. And that in the Indian construction market specifically, the real unlock isn't better forecasting — it's building for the layer where the truth never enters a platform to begin with (WhatsApp, handwritten challans, GST invoices), which forces an inverted, extraction-first design rather than the "adopt our platform" model that works for digitized US procurement. What's next Stage 2 (July 17–31) replaces the demo's stubbed extraction with a real VLM pipeline over the documents incumbents' systems have never touched — handwritten challans, Hinglish WhatsApp exports, GST invoices — with a published field-accuracy eval. We'll also seed vendor and category priors from public GeM/CPWD award records, add split-conformal calibration intervals with a reliability diagram, and put LLM-drafted actions behind the human approve button.
Built With
- apache-iceberg
- css3
- event-sourcing
- html5
- javascript
- json
- kafka
- python