Redshift AI
← All example installs
cs-016 · Proposals

The bid that died on page 41

Government work pays on time and renews. It also reads every page of your bid, and so does the person deciding whether to throw it out.

Illustrative example, not a client. Figures are modeled.

Shop
Events and video production agency, about 25 people plus freelancers, founder-led, mid-pivot from corporate clients to government agencies
Surface
Proposals. The 60 to 120 page public-sector bid, where 1 missed requirement disqualifies the whole thing
The constraint
The founder and 1 producer write every bid by hand, nights and weekends, from old bids
What triggered it
A bid the team expected to win was rejected unread: it was missing a signed form named once, on page 41 of the solicitation
What we built
A compliance matrix builder: every “shall” and “must” in a solicitation becomes a row, every row points to where the draft answers it, and the bid can’t be marked final with an empty row
0 empty rows
Modeled

Across a 5-bid test set, every requirement mapped to a section of the draft before sign-off.

9 days → 4
Modeled

Founder time per bid, first read to submission, mostly moved from the checklist to the win themes.

The pivot made sense. Corporate events were seasonal and getting cut; government agencies pay slowly and buy again. But public-sector solicitations are a different sport.

Requirements hide in attachments, amendments, and the 1 sentence in section L that says what font to use.

The founder read every solicitation twice and built the outline in their head. The producer filled it in from the last bid that looked similar. Nobody checked the finished bid against the solicitation line by line, because nobody had a spare day.

We started from the rejection. Rule 1: the bid isn’t final until every requirement in the solicitation, and every amendment, has a row and every row has an answer.

A model reads the solicitation and pulls every obligation into a matrix: the sentence, the page, the section it belongs in. Code checks the matrix against the draft and marks each row answered, partial, or empty. The founder decides what code can’t: whether the answer is any good.

Exhibit 01The matrixIllustrative
RequirementPageAnswered inStatus
Offeror shall describe its accessibility approach for all video deliverables12Technical approach, 3.2Answered
Past performance: 3 references within the last 5 years27Past performance, 5.1Partial (2 of 3)
Signed subcontracting certification must be included with the proposal41 Empty
Attachment C, pricing schedulen/a Unread: read this one
1 solicitation, 214 requirements, each with its page, its source sentence, and the section that answers it. An empty row blocks “final.”

Then amendments. When an amendment lands, the matrix re-runs and highlights only what changed.

The model missed requirements written as tables, not sentences. The first test bid had 9 of them, all in a pricing attachment. We added a table pass and a rule: any attachment the model can’t parse is listed at the top of the matrix as unread, in red. Better to tell the founder “you have to read this one” than to look complete.

Modeled on 5 past solicitations, including the 1 that was rejected. The matrix catches the page 41 form every time. Founder time drops from 9 days to 4, mostly spent where it should be: on the win themes, not the checklist.

Not measured: win rate. That takes a year of bids, and nobody has run a year of them yet.

The founder accepting that a missed form loses a bid no matter how good the work is.

Old bids, and how each one ended, to test against.

And a producer willing to treat an empty row as a blocker, deadline or not.

Free · 48 hours · nothing asked but a URL

Find out what a buyer will price into your handoff before the buyer does.

If the read finds nothing a buyer would price into your transition, we say so in writing: list as-is. The map is still yours.