AI Intelligence Briefing
A weekly AI digest for supply chain and procurement practitioners — built, hardened, and shipped without me in the loop.
The problem
Staying current on AI in supply chain and procurement required hours of manual reading each week, with no consistent signal filtering, and the same intelligence work was repeated across practitioners who had no shared view of it. The gap wasn't information — it was curation.
What I built
An automated editorial pipeline that I took through the full arc — prototype, leadership approval, production hardening. It ingests 9 Substack RSS feeds and runs 7 semantic search queries via Exa, scores every article with domain-specific keyword logic (title-weighted, capped per keyword to prevent buzzword inflation, with recency decay), parallelises summarisation across ~30 Claude Haiku calls, then uses a single Claude Sonnet call to write the strategic brief. Jinja2 renders the output as a branded HTML email and PDF, delivered via Gmail SMTP. A checkpoint cache and 8-issue rolling history avoid redundant API calls and prevent content repetition across weeks.
Tech stack
Architecture
The hard part
Editorial judgement without an editor. Theme-level deduplication was the core challenge: URL matching prevents exact repeats, but the same strategic themes can recur week after week in different articles. The solution was injecting the previous issue's theme, synthesis, and event card openings into the Sonnet prompt — instructing it to take a fresh angle while allowing genuine callbacks when this week's events follow on from last week's watch sentence. The keyword scoring system also required careful design: capping each keyword's contribution at three hits prevents articles that repeat buzzwords from inflating their score over more substantive pieces.
Screenshots
Outcomes
- Weekly briefing delivered to 200+ supply chain and procurement practitioners
- Nominated for a firm-wide Innovation Award (2026); approved by practice leadership
- Pipeline runs end-to-end in 3–5 minutes with no manual intervention
- 8-issue rolling history prevents theme repetition; checkpoint cache avoids redundant API calls on re-render