AI Bid Intelligence for Commercial Contractors

Mid-market general contractors bidding $5M to $50M projects are stuck between two bad options: spreadsheets they've outgrown and enterprise platforms built for companies ten times their size. The pre-bid process, reading documents, extracting scope, contacting subs, pricing materials, takes 2 to 3 days and leaves room for expensive errors. BidCraft compresses that to 20 minutes.
Three Agents, One Workflow
Each step in BidCraft is an independent agent with its own context, goal, and confidence output rather than a single monolithic prompt. This matters because long documents degrade single-context reasoning. Agents isolate failure.
The Bid Extraction Agent (Claude) reads the full document, maps scope items to CSI divisions, and returns structured JSON. A second agent, Llama 4 Maverick, independently audits that output as an LLM-as-a-Judge before anything reaches the user. The Material Pricing Agent pulls live lumber and gypsum prices from Yahoo Finance and FRED, then applies a 12-month trend forecast so estimates reflect where costs are going. The Subcontractor Scheduling Agent queries the Arizona contractor database, scores every candidate zero to one hundred, and flags scheduling conflicts across a 52-week availability window.
System Design
The five-step flow keeps humans in control throughout: upload bid, pull reference data from Firestore and live commodity feeds, run the three agents in sequence, pass every output through a guardrails layer (JSON schema enforcement, token limits, confidence scoring, conflict detection), then hand off to a human to review, edit, and finalize. Frontend and backend are containerized with Docker Compose. Sensitive data is processed in memory only with no persistent storage.

See It in Action
Watch the demo: https://youtu.be/d0XW2vyfaE4
Why This Is Defensible
Procore serves after the contract is won. BidCraft serves before the bid goes out. Different moment, different problem, different buyer.
More bids run through the system means better sub signals, which means higher win rates, which means more GCs, which means more bids.
The flywheel compounds on real-world data, not just infrastructure. The Arizona subcontractor database includes availability and reliability ratings that a competitor can't replicate by scraping a license registry. And once an estimating team trusts BidCraft's outputs, the switching cost is real: retraining, re-importing sub preferences, and losing the performance history that informed every score.
Full codebase: allllc/BidCraft