Defence tender monitor
Watches European defence procurement and emails a vendor only what fits them.
- Client
- AD VERBUM
- Year
- 2026
- Status
- Live
- My role
- Sole engineer
Problem
Everyone watching European defence procurement watches TED, and most of the market never gets there. It sits on national portals instead, in twenty-four languages, each with its own format. No supplier is going to check twenty-two sites every morning.
Architecture
- 01
Ingest
One adapter per source: TED plus twenty-one national portals including TenderNed, BOAMP, ANAC, Hilma, Doffin and UK Find a Tender, plus NATO BONFIRE.
- 02
Scrape what has no API
Portals that only render in a browser get a dedicated Chromium worker image, kept separate so a slow page cannot block the rest of the queue.
- 03
Normalise
Defence CPV codes, buyer lists, and FX conversion bring every notice onto one shape and one currency.
- 04
Translate
DeepL and Claude Haiku render each notice readable regardless of origin, because a Finnish notice is worthless to a Spanish supplier who cannot read it.
- 05
Match and send
Notices are scored against each vendor profile, then go out as an email digest rather than another dashboard nobody opens.
- 06
Release
GitHub Actions builds to Amazon ECR, deploys onto EC2, and runs Alembic migrations as part of the release.
Impact
Live at monitor.adverbum.com
Coverage reaches the national portals where most of this market is invisible
A vendor reads one digest instead of twenty-two portals in twenty-four languages