How it works

What the brief is. Where the data comes from. How a match is made.

Same answer for procurement, technical buyers, and operations. Below: the four public sources we read, the matching pipeline that turns them into a brief, the contact confidence policy that gates each liaison, and a straight list of what the system does not do.

Data sources.

Every field in a brief is either a value pulled from one of these four public records or a deterministic computation on top of one. No external telemetry, no fabricated emails.

SourceWhat we pullRefreshVerify
USASpending.gov daily award feedPrime-award records: award ID, NAICS, agency, place of performance, set-aside.Nightly
Public
SAM.gov Dynamic Small Business Search (DSBS)Prime's small-business liaison: name, title, email, capability narrative.Daily for matched primes
Public
FSRS subaward historySubcontractor-flow ratios by NAICS prefix and agency family.Static snapshot
Public
Agency OSDBU directoriesPublished small-business contact cross-check.Periodic
Public

Matching pipeline.

Today's matcher lives in src/lib/briefs/matcher.ts. It runs four deterministic steps per row, then derives the dollar band and drafted intro for every survivor.

  1. 01NAICS overlap

    Exact-string match against the profile's NAICS list. A row survives only if its NAICS is on the profile's list.

    matcher.ts · NAICS filter

  2. 02Geography radius

    Great-circle (haversine) distance from the profile's center to the row's place of performance. Capped at the profile's radius in miles.

    matcher.ts · haversineMiles

  3. 03Certification flag weight

    Map the row's set-aside to a profile cert flag via ROW_TO_PROFILE_CERT (8(a) ↔ 8A, SDVOSB, WOSB, HUBZone). Cert overlap adds score.

    matcher.ts · certOverlap

  4. 04Sort: cert count desc → distance asc

    Survivors are sorted by certification overlap first, then by geographic distance. The closest, most-cert-matching row wins.

    matcher.ts · sort

  5. 05Per survivor: band → liaison → draft

    For each winner: derive the subcontract dollar band (band.ts), pick the liaison (dsbs.ts), and emit the subject + body of the drafted intro (draft-email.ts).

    matcher.ts · final pass

Contact-confidence policy.

Every liaison in a brief carries a confidence label. We don't hide low-confidence contacts; we score and label, and we have a plan to suppress them by default for new subscribers.

Low

Derived or stale.

Liaison derived from set-aside tier or pulled from an older refresh in our cache. We label it, plan to drop by default for new subscribers.

Medium

One of two sources.

Liaison listed on either the SAM.gov DSBS profile or the agency OSDBU directory, but not corroborated by both yet.

High

Both sources agree.

Liaison present on SAM.gov DSBS and corroborated by the published agency OSDBU directory, in today's daily refresh.

What ships today, what's next.

We don't ship features before they run. Below is the strict split between what is live in the MVP and what is committed but not yet on.

1

Daily cron reads public prime-award records (USASpending nightly feed).

2

Profile × NAICS + radius + certification-flag filter (matcher.ts).

3

Liaisons sourced from the SAM.gov Dynamic Small Business Search and the agency OSDBU directory.

4

Heuristic NAICS × agency × set-aside dollar range (±15% wide band, band.ts).

5

Templated intro email — deterministic subject + body, no LLM generation yet (draft-email.ts).

6

Confidence label on every liaison (high / medium / low), surfaced in the brief.

What Tributary does not do.

We'd rather name the limits than oversell the reach. The brief helps you walk into the conversation first; it isn't the conversation itself.

1

Won't pull live USASpending every second — the public feed is nightly; we mirror.

2

Won't verify SAM registrations by emailing the prime — DSBS listings are read as published.

3

Won't write a bid for you — the brief hands you contact + scope; you write.

4

Won't send email for you — the drafted intro is a draft, not a sent message.

5

Won't score past performance or compliance — out of scope; we surface scope, not standing.

6

Won't author a subcontracting plan — we connect; your proposal team writes.

Take the next step.

No credit card in the preview. Sign-in link expires in 10 minutes if you'd rather just look first.