BidEligible

How we read a solicitation

Every number on this site can be traced back to a sentence on a page of a public document. This page explains how it gets there, and — more usefully — where the method runs out.

1

We take the attachments, not the summary

A posting page usually carries a title, a closing date and a link. The parts that decide whether you can bid — the bond percentage, the insurance limits, the prequalification class, the mandatory job walk — live in the attached documents. We download every attachment a posting links to and read all of it, front to back.

Across the construction bids in our sample the documents run from about 100 to 330 pages. That is the work nobody else is doing at this price.

2

We find the clauses before we read them closely

Sending a 300-page document to a language model in full is both slow and expensive. So we first locate the parts that can possibly contain a requirement: sentences with obligation language (shall, must, is required to), section headings in the document's own numbering, and the tables that hold coverage limits.

On our measured sample this narrows a document to roughly a third of its text — the same requirements found, at a fraction of the cost. If that narrowing finds nothing, we fall back to reading the whole document rather than reporting an empty result.

3

Nothing is recorded without the sentence it came from

Each requirement we extract carries the verbatim sentence and the page number it appeared on. Before it is stored we check that the sentence actually occurs in the document and that the page number is real. If either check fails, the requirement is dropped — not softened, not flagged, dropped.

This is the single most important rule here. A tool that reads documents for you is only worth having if you can check it in ten seconds, which is why every requirement on a bid page opens the highlighted page image behind it.

4

Low-confidence extractions don't vote

Every extraction gets a confidence score. Below 0.85 a requirement is still shown to you — marked needs confirmation — but it takes no part in any eligibility verdict. We would rather tell you we're unsure than quietly decide for you on a shaky reading.

5

The verdict is arithmetic, not opinion

Matching your company against a bid is done with plain deterministic rules: your general liability limit against the one the document asks for, your bonding capacity against the bond, your license class against the class named. A language model reads the document; it does not decide whether you qualify.

Any single hard requirement you don't meet is disqualifying on its own, so a verdict of not eligible always names the specific line that caused it.

6

Where we stop

  • We never work around a login. If documents sit behind a registration wall, that source stays off — the rule is enforced in code, not by policy.
  • We delete the source PDF once it is parsed. We keep the extracted requirements, the quoted sentences and the highlighted page images.
  • An addendum can change a requirement after we read it. We re-read when one is posted, but the official posting is always the authority.
  • This is an information aid. It is not a determination of bid eligibility and not legal advice. Confirm against the official documents before you commit.
Check us on a document you already know

The fastest way to judge any of this is to hand us a solicitation you've already read yourself and see whether we found what you found.

Paste a bid link