← all projects
Bid Radar
Watches a bid mailbox for federal solicitation notices, verifies each one against the official record, screens it against explicit bid criteria, and hands the qualifying ones off for pursuit.
StatusActive
StageBuild
StackPython · Azure Functions · Microsoft Graph · SAM.gov API
OwnerAndrew
The problem
Federal opportunity notifications arrive as email, formatted for people and liable to change without warning. Teams either skim them by hand and miss things, or scrape them and quietly feed half-records into their pipeline.
Approach
- The email is only a trigger: the one thing taken from it is the notice ID.
- Everything else is pulled from the SAM.gov API, the authoritative record, then hashed and timestamped. A wrong ID fails loudly instead of producing a plausible-looking record.
- Each notice is screened against rules in a config file. Every rule carries a "why", and that text is what the person deciding whether to bid sees.
- Results route to auto-handoff, human review, and an internal alert email.
- A first-touch email is drafted in the mailbox but never sent. A person edits it and decides.
Guardrails
- It never emails a government contact on its own.
- With no screening rules configured, everything routes to review.
- It decides who gets told, not whether to bid. Qualification stays behind the review gates in the Prospect Intelligence Program.
Build notes
- Runs on a 30-minute Azure Functions timer, authenticated as an app scoped to a single mailbox.
- A zero-install browser console for tuning screening weights, with tests that hold it to the same verdicts as the Python screener.
- Dry-run mode decides everything and writes, sends and marks nothing.
Files & links
Private repository. Demo available on request.