The problem
Pitsco's sales team hunted K-12 district RFPs by hand across dozens of state and regional procurement portals — a reactive, slow process that routinely missed bid deadlines.
What I built
- Engineered an autonomous agent on the Claude Agent SDK orchestrating WebSearch + custom portal readers across 19,600+ NCES districts; Haiku and tuned prompts held each scan to 2–4 tool calls instead of dozens.
- Enforced structured JSON output that tags each opportunity by Pitsco-product fit (green / yellow / gray), and contained cost with max-turn limits + idempotent Postgres report caching.
- Built a Chrome-extension human-in-the-loop fallback for Cloudflare-blocked portals — harvests pages from the user's real browser, avoiding server-side IP blocks.
- Enriched opportunities against NCES data and geocoded districts onto a national map for territory-level prioritization.
System architecture
🗺️
Architecture diagram — coming soon
Discovery agent · portal readers · HITL extension · Postgres cache. (Upload diagram here.)
Demo
▶
Walkthrough video — coming soon
Embed a 1–2 min screen recording of the discovery agent.
Stack
Claude Agent SDKWebSearchPlaywrightChrome extensionPostgresHaiku
Outcome
4× more qualified opportunities Replaced a manual hunt with a continuous, automated discovery pipeline.