Built to order · walkthrough
An RFQ packet in.
A provenance-backed, human-gated bid out.
BidWright is the estimating and takeoff system Elevare Edge builds for industrial electrical, fire alarm and HVAC controls contractors. It reads the plans and the spec book, counts what the legend says to count, reads the schedules, checks its own work, and hands your estimator a draft where every number can be traced to a rectangle on a sheet.
This page is a walkthrough on a public-record packet, not a sandbox and not an upload box. Read it, then ask for the pilot at the bottom if it fits how you bid.
The workflow
Eight stages, each one leaving receipts
- 01
Ingest
The packet goes in as it came: plans PDF, spec book, addenda.
Every later value points back at a document, a page and a rectangle on that page. Nothing is retyped.
- 02
Sheet intelligence
Which sheets matter for your trade, and what each one is.
The drawing index is read, sheets are classified (legend, plan, schedule, one-line, detail), and the spec book is indexed by CSI section so Division 26, 27, 28 and 40 sections surface first.
- 03
Legend read
The symbol legend becomes a table: glyph, description, mounting.
The one place a human has counted against it so far, the read matched all 25 rows (see the numbers below).
- 04
Counts with bounding boxes
Each symbol family is counted on each plan sheet.
Every counted instance keeps its coordinates. The receipts view draws the boxes back on the sheet, and a click removes or adds one as an audited human correction.
- 05
Schedules and panel reconciliation
Panel schedules are read cell by cell and the arithmetic is checked per phase.
A load that reconciles against the stated total earns VERIFIED standing. A breaker rating that only passes a validity check stays PLAUSIBLE, because passing a check is not the same as being right.
- 06
Validators raise flags
Domain checks run over the whole takeoff and the flags are listed, not hidden.
Sheet furniture counted as devices, missing legend families, schedules that do not add up, scope with no price basis: each becomes a flag a person clears or waives by name.
- 07
Estimate, every price marked SEED
Quantities meet assemblies; the numbers are placeholders until your price book and labor units replace them.
Every line carries a price basis. SEED means the value is a starting point that was never yours; a vendor quote is a commitment and is never escalated; an unclassified material is not escalated at all.
- 08
DRAFT-stamped scope letter and workbook
A scope letter and an xlsx with Receipts and Flags tabs, stamped DRAFT.
The stamp stays until the takeoff, the estimate and the scope have each been approved by a person. BidWright never submits a bid. You do, in the portal, as yourself.
Evidence
What the stages see, on a public packet
Every still below comes from one Missouri Office of Administration public bid, R2513-01 (an HVAC and controls upgrade, plans and specs). It is a public record of state procurement. Nothing here is a customer's packet, and nothing here carries a price.


| Section | Title | Pages |
|---|---|---|
| 000107 | PROFESSIONAL SEALS AND CERTIFICATIONS | 2 |
| 000110 | TABLE OF CONTENTS | 3–4 |
| 000115 | LIST OF DRAWINGS | 5 |
| 001116 | INVITATION FOR BID | 6 |
| 002113 | INSTRUCTIONS TO BIDDERS | 7–13 |
| 005213 | CONSTRUCTION CONTRACT | 14–16 |
| 006113 | PERFORMANCE AND PAYMENT BOND FORM | 17 |
| 006325 | SUBSTITUTION REQUEST | 19–20 |
| 007213 | GENERAL CONDITIONS | 25–44 |
| 007300 | SUPPLEMENTARY CONDITIONS | 45 |
| 011000 | SUMMARY OF WORK | 50 |
| 012600 | CONTRACT MODIFICATION PROCEDURES | 52 |
| Line description | Price basis | What escalate() answers |
|---|---|---|
| #12 AWG THHN CONDUCTOR | SEED | PCU335929335929: 4% year over year, 0.5% month over month, reference 2026-08 (ILLUSTRATION) |
| #12 AWG THHN COPPER CONDUCTOR | SEED | series PCU331420331420 is not in the index table |
| 75 KVA DRY-TYPE TRANSFORMER | SEED | PCU335311335311: 7.5% year over year, 0.2% month over month, reference 2026-08 (ILLUSTRATION) |
| 75 KVA DRY-TYPE TRANSFORMER | quote 2026-09-01 | QUOTED — a vendor quote is a commitment for its validity period; escalating it invents a cost the vendor has agreed not to charge |
| STRUCTURE, STEEL GALVANIZED, 230 KV | SEED | no PPI family matches 'STRUCTURE, STEEL GALVANIZED, 230 KV' — unclassified material is not escalated |
| TESTING AND COMMISSIONING ALLOWANCE | SEED | no PPI family matches 'TESTING AND COMMISSIONING ALLOWANCE' — unclassified material is not escalated |
Standing
How much a field has earned, not how plausible it looks
Every read value carries one of four standings, and the estimator sees them. The distinction exists to stop a validation rule turning into false certainty.
- VERIFIED
- An independent statement in the document agrees. Today that is only the load column of a panel schedule, and only on a phase whose arithmetic reconciles.
- CORROBORATED
- Consistent with other cells: a multi-pole breaker whose continuation rows are where they should be.
- PLAUSIBLE
- Domain-valid and nothing independent confirms it. Every description, every re-read breaker. A 225 misread as 250 is a valid rating; it is still wrong.
- SUSPECT
- Fails a domain check. It goes on the blocking list with the rectangle it came from.
Why the DRAFT stamp exists
Three gates, each approved by a person: the takeoff, the estimate, the scope. Until all three are approved, the scope letter, the bid form data sheet and the workbook print DRAFT across them, and an estimate that predates the current takeoff reads STALE and cannot be approved at all. The stamp is not a disclaimer. It is the system refusing to look finished before a human has said so.
Measured, and not measured
The numbers, including the weak half
These are copied from BidWright's own accuracy file, which is generated by the measurement script and cannot be hand-edited. They were measured against human-verified ground truth on real packets. Where no ground truth exists yet, that is stated too.
Legend read, against a human count
FIRE ALARM SYMBOL LEGEND rows, sheet 2E001: human count 25, exact description matches 25 (100% recall), rows returned 28, missed none. The 3 extra rows are near-duplicates from composite glyphs, not wrong text.
Determinism
Same file in, same clusters out: stable on 6 sampled pages of each of 5 packets, including the three Missouri public packets.
Identification rate, the weak half
Counting generalises; visual naming does not. On four real packets the share of symbol families the system could name was 34% (Missouri C2502-01, 95 families), 1% (Missouri R2513-01, the packet on this page, 195 families), 14% (a North Carolina municipal packet, 160 families) and 13% (a fourth packet, 328 families). By unit count the rates were 41%, 0%, 6% and 9%. This is the number that matters most and it is the worst one. It is why a pilot begins with your legend and your estimator's corrections, not with a finished takeoff.
NOT CERTIFIED
- End-to-end bid accuracy
- Needs the operator's own past bids: a packet, the quantities he took off it, and the price he submitted.
- Labor units
- Every pack's labor basis says SEED.
- Material prices
- SEED until the price book is filled from real quotes.
- Count accuracy on plan sheets
- No hand count exists yet for a plan region; the legend table above is the only human ground truth in the repo.
Also found and fixed on the way: 270 units of sheet furniture on one packet that were being counted as devices (horn strobes and smoke detectors read off the legend itself). That class of error now raises a flag instead of a line item.
Where it fits
One stage of your estimating, not a replacement for it
BidWright sits between the packet arriving and your estimator's judgment. It does the reading, the indexing, the first count and the arithmetic checks, and it writes down where every value came from. Your estimator does what BidWright cannot: names the families it could not, corrects the counts by clicking the boxes, fills the price book from your quotes, and approves the three gates.
It is built to order, in your shop's vocabulary, against your legends and your assemblies. The pilot is how that vocabulary gets learned, one packet at a time, with the receipts and the flags on the table.
A packet you share stays under NDA and is processed locally; it never goes to a cloud model. Related instruments on this site: Bid Radar and Material Costs.
Next step
Run it on one of your packets
A paid pilot: one packet of yours, run end to end, with the receipts and flags handed back for your estimator to check. Or a guided demo on the public packet first. Either way the next thing that happens is a reply from Shane, not a drip campaign.
This tool records anonymous usage events to improve it. It never records what you type or upload.