How Centinus finds and scores contracts
A plain-language tour of the pipeline that surfaces federal opportunities every morning, plus a form at the bottom to flag anything that looks wrong.
The pipeline, step by step
Pull new opportunities from SAM.gov
Every morning at 6:30am the system queries SAM.gov — the official federal contract opportunity portal. We pull the last 7 days of postings, which is usually 500–2,000 new opportunities depending on the day.
SAM publishes everything the federal government is buying: from software contracts to janitorial services to fuel and uniforms. Most of it isn't relevant to Centinus.
Filter to Centinus's "neighborhood"
The system has a list of keywords tuned for Centinus's market — words like autonomy, drone, computer vision, JIATF-401, BVLOS, Anduril, Blue UAS Framework. If a posting's title contains any of these, it's a candidate. If it doesn't, it's filtered out before we look any closer.
Fetch the full body for the best candidates
For each opportunity that passed the keyword filter, we call SAM.gov a second time to pull the actual posting text — what the government calls the "noticedesc." This is where the real signal lives: specific program names, contract vehicles, eligibility requirements, the primes who'd integrate with the work.
We call this step enrichment. Until an opportunity is enriched, all you have is a title — too thin to make a real call.
Score each opportunity 0–100
A scoring engine reads the title and body and adds up signals. Each signal has a weight tuned for Centinus's business:
- High-value programs (JIATF-401, Replicator 2, A-GRA, Project Linchpin, Launched Effects) — +22 to +25
- Capability terms (autonomous drone, BVLOS, MOSA, computer vision) — +14 to +22
- Prime mentions (Palantir, Anduril, Booz Allen, Collins Aerospace) — +20 to +22
- Contract vehicles (CSO, SWP, SBIR Phase III) — +14 to +18
- Industry codes (NAICS 541511 software, PSC D316 AI/IT services) — +10 to +15
- Hardware procurements (PSC 1550 UAVs, PSC 5865 EW Equipment) — score gets cut 50–70%
- Demonstration events (MACE 3, Wave Breaker, TOEE) — score gets cut 50%
- Avoid list (spare parts, janitorial, uniform procurement) — negative
AI second-pass with Claude Haiku
For each enriched opportunity, an AI model (Claude Haiku) reads the full body and gives a structured verdict: HIGH / MEDIUM / LOW / NO, plus a 1–2 sentence rationale and key signals it noticed.
This catches things the keyword scorer can't — like "the keywords match but this is maritime sonar, not drone autonomy" or "Skydio is mentioned but they're the vendor, not a partner here."
You triage what shows up
The main pipeline view shows enriched opportunities sorted by relevance. Each one has the regex score, the AI verdict, the full body, and metadata. You decide:
- Pin if you're actively chasing it
- Mark pursuing when Centinus is going after it
- Mark passed when it's not a fit (these labels train the system over time)
- Leave a note with details about your decision
Every "pursuing" or "passed" label feeds a calibration loop. After ~30 labels, we can show you which signals actually predict pursuit — and adjust weights based on real Centinus behavior instead of guesses.
The scoring model, in business terms
Every opportunity gets a 0–100 relevance score — the sum of weighted signals found in the title and body, capped at 100. Here's what actually moves the number, grouped by what it means for business development.
1 · Named programs & buying authorities — "don't miss these"
The highest-value signals. They name the exact programs and contract vehicles Centinus's strategy targets. A title mentioning one almost always deserves a read.
| Signal | Points | Why it matters to Centinus |
|---|---|---|
| JIATF‑401 | +25 | The top counter-UAS subcontracting tier and the live Replicator 2 vehicle — Centinus's most direct path in. |
| Project Maven | +25 | DoD's computer-vision / AI-for-ISR program — squarely Centinus's product. |
| Replicator 2 | +22 | The active mass-autonomy push. (A bare "Replicator" is +12; the winding-down Replicator 1 only +8.) |
| A‑GRA / CCA Inc 2 | +22 | The autonomy reference architecture and Collaborative Combat Aircraft increment Centinus's software must plug into. |
| Project Linchpin | +22 | The Army's AI/ML delivery pipeline — a buying channel for exactly this kind of software. |
| Blue UAS Framework | +22 | The DoD supply-chain chokepoint — framework membership gates who can sell into defense. |
| DIU · JADC2 · Launched Effects | +20 | Fast-track innovation buyer, the joint command-and-control backbone, and the smart-munitions program — all autonomy-hungry. |
| AFWERX · ABMS · SWP | +18 | Air Force innovation arm, battle-management program, and the Software Acquisition Pathway — the fastest way the government can buy software. |
2 · Capability match — "this is what we actually do"
Technical language that says the work needs Centinus's autonomy / AI / real-time-video stack.
| Autonomous drone / drone autonomy | +22 | The core product. |
| BVLOS · BLOS · GPS-denied · contested / collaborative autonomy | +18 | The hard problems Centinus's autonomy is built for — flying beyond line of sight, without GPS, under jamming. |
| Object detection / target tracking · ISR | +16 | The computer-vision and surveillance workloads that ride on top of the autonomy. |
| Computer vision · edge AI · on-board inference · low-latency video · ATR · CoT | +14 | The differentiators — running AI on the drone and streaming it live into command-and-control. |
| Sensor fusion · MOSA · persistent surveillance | +12 | Open-architecture / multi-sensor integration — Centinus's hardware-agnostic story. |
3 · Partnership & sub plays — "who's in the room"
When a prime is named, it usually means the realistic path is to sub under them, not to bid alone. The mention is an extra signal on top of the program tags.
| Palantir · Anduril (Lattice) | +22 | Primes whose platforms integrate autonomy — the strongest sub-license pitch targets. |
| Booz Allen · GA-ASI · AeroVironment · Collins Aerospace | +20 | Integrators and airframe primes who'd carry Centinus's software as a payload. |
4 · How-to-buy signals — "is there a fast contract path?"
Contracting vehicles that software companies can actually move through quickly.
| Software Acquisition Pathway (SWP) · Phase III pathway | +18 | The fastest software buy, and the sole-source SBIR lever — the biggest non-dilutive revenue path for Centinus. |
| CSO · SBIR Phase III | +14 | Commercial Solutions Openings and Phase III sole-source authority — quick, flexible award routes. |
| OTA · APFIT · SBIR | +10–12 | Other Transaction Authority and innovation-funding mechanisms that skip traditional FAR contracting. |
5 · Industry codes — a tailwind, not a driver
The government's own classification of the work. They nudge the score but, on their own, never make an opportunity "relevant" (see the guardrails below).
| NAICS 541511 Custom Software · 541715 R&D · PSC D316 IT/AI · D302 · 7A21 AI Software | +15 | The codes Centinus is (or should be) registered under — software and engineering R&D. |
| PSC 1550 UAVs · NAICS 541512 Systems Design | +12 | Adjacent unmanned-systems and IT-design codes. |
What pulls a score down — the noise guards
Just as important as what scores high: the rules that stop the system from chasing things Centinus can't sell.
- Industry code with no real keyword → bonuses cut to 40%. If an opportunity scores only because SAM tagged it "software" but nothing in the text actually matches Centinus's work, the code bonus is discounted hard. This kills false positives like a fluid-dynamics mesh tool mis-tagged as "AI software."
- Hardware procurement → prime/competitor & code signals cut 50% (sources sought) or 70% (active solicitation). If the government is buying physical drones or EW gear, that's the wrong end of the transaction for a software vendor — even if a prime is named. (e.g. "agency buying a Skydio drone" is intel, not a Centinus bid.)
- Demonstration event in the text → named-program signals cut 50%. Mentions of experimentation events (MACE 3, Wave Breaker, Project Convergence, TOEE) get dampened — presence at a demo is industry exposure, not a contract pipeline.
- Avoid list → negative points. Spare-parts buys (−8), sustainment-only services (−6), and janitorial / uniform / landscaping / catering (−10) are pushed to the bottom.
Known limitations
Things the system can't do yet that you should know about:
- Scanned/image PDFs aren't read. We now download and read PDF and Word/.docx attachments (the real Statement of Work / Areas of Interest) and feed them to the AI reviewer — so a generic-looking title with gold in the attachment is no longer missed. The remaining gap: scanned image-only PDFs (no text layer, would need OCR) and other formats like spreadsheets aren't parsed yet.
- PIEE-gated content. Some opportunities route real content through DoD's Procurement Integrated Enterprise Environment, which requires login. We can't follow that gate. Those rows stay un-enriched.
- Title-only false positives still possible. A title like "Autonomous Transport Vehicle System" fires the autonomy keyword, but only the body tells us it's a ground vehicle (Forterra territory) and not aerial.
- SAM's own tagging is sometimes wrong. SAM occasionally codes irrelevant products under AI/software industry codes (we saw a CFD mesh tool tagged "AI Application Software Tools"). The system has guards against this but isn't perfect.
- Sonar / maritime / ground autonomy disambiguation. The keyword scorer can't tell underwater sonar from aerial drone autonomy. The AI second-pass catches most of these — but not all.
What your labels are revealing
Every time you mark an opportunity as pursuing, watching, submitted, awarded, lost, or skipped, that decision feeds a calibration loop. It learns which keyword patterns actually predict pursuit and which are noise. After enough labels, weights can be retuned based on real Centinus behavior instead of guesses.
| Tag | Samples | Pursued | Skipped | Rate | Signal |
|---|---|---|---|---|---|
How retuning works (engineer note)
This page just surfaces the data. It does not change any scoring weights.
When a tag has ≥5 samples with a 0% or 100% pursuit rate, it's a confident candidate for adjustment.
The engineer runs .venv/bin/python scripts/suggest-retune to see proposed weight deltas, reviews them, and updates backend/scoring.py manually.
No automatic retuning — small-sample variance would cause wild swings and lock in early bias.
Found something wrong? Tell us.
If a score looks off, a real opportunity got missed, the AI verdict is wrong, or anything else feels broken — leave a note here. The engineer reviews these weekly. Include enough detail (opportunity ID, what you expected, what you saw) for us to investigate.