Six steps take your bid package from raw PDFs to a review your estimator can check line by line.
Our code
Every page of your package becomes a structured record with its document, page number, sheet number, discipline, spec section and the addendum it came from. We read drawing title blocks and sheet indexes, split specs by section, and OCR scanned pages. Everything goes into a searchable index that combines keyword and semantic search. Any page we cannot read is listed in your report, along with how many pages were reviewed.
Output: page index
Example page record
Our code
Late addenda are where bids go wrong. We compare every addendum against the base package to find which sheets were reissued, which spec sections were replaced, added or deleted, and which alternates or bid-form lines changed. We also link the package together: sheet callouts, spec sections, RFI responses and the sheets they modify. This gives us a map of what is current and what has been superseded.
Output: addenda change map
Example change map
Our code
Rules built for electrical work scan the whole package for the things that cost subcontractors money: long-lead equipment, scope-boundary language, drawing and spec numbers that disagree, testing and commissioning requirements, and contract and schedule terms. For each topic, retrieval pulls only the passages that matter, with the relevant addenda attached. Claude never receives the whole package, only a focused set of evidence for each candidate.
Output: candidate risks with evidence sets
Rules scan the whole package
Claude API from Anthropic
HVAX uses the Claude API from Anthropic in three roles. A fast Claude model sorts and classifies the candidates. A stronger Claude model reads each evidence set side by side (drawings, specs and addenda) and decides whether they conflict, leave scope unclear, or change the price. It then drafts the finding. Claude must return every finding with an exact quote and a page reference. A finding without evidence is not allowed.
Output: draft findings with quote and page
Three roles
Our code and Claude
Our code confirms that every quote appears word for word on the page it cites. Claims that something is missing from scope are searched for across the whole package and dropped if the item is covered elsewhere. We also check the change map to see whether a later addendum already resolved the issue. Then a separate Claude request tries to disprove each remaining finding. Anything that fails is discarded, and the reason is logged.
Output: verified findings
Every finding must pass
Fails any check: discarded, reason logged
People
The founder reviews every high-priority finding before the report is delivered. You receive a short list, with borderline items kept separate. Your estimator checks each citation and makes the final call.
Output: signed-off review
What reaches your estimator
Your estimator checks each citation and makes the final call.
HVAX uses AI to extract evidence and draft findings. AI assists with evidence extraction and drafting. It does not replace estimating judgment, code review, or contractual advice.
| Model used for review passes | Claude 3.5 Sonnet |
|---|---|
| Model used for the checking pass | Claude 3.5 Sonnet |
| How documents are sent | Page-level text, filtered by topic, one request per topic. The whole package is never sent in a single request. |
| Account | HVAX's own commercial Anthropic API account. |