How calibration works
The feedback loop that makes DarkBird different: finished jobs quietly correct the cards that mis-estimated them.
DarkBird compares every Install Card's estimated hours against the actual hours logged on completed projects and computes a per-card multiplier. A multiplier of 1.3 means that card's estimates run 30% low.
That multiplier is applied automatically when the AI recommends cards during an interview, and it is now applied to the hours themselves on any card added to a NEW estimate. An estimate you have already sent is never changed underneath you: calibration is frozen onto each line at the moment the card is added, so a quote a client has seen keeps the numbers they saw. To pull the latest calibration into an estimate that is still in Planning, apply it deliberately - you are shown the hour change before you confirm. The confidence badge on the Estimate tab also factors in how many cards in an estimate have real calibration data behind them.
Reading where an estimate's hours came from
Expand any card on the Estimate tab and you get a line per task: quantity, who does it, the hours, where those hours came from, the rate, and what it bills. The Source column is the one to read. A line that came out of the template as designed is labeled a flat, grey TEMPLATE — deliberately plain, because on a sixty-line estimate the few interesting lines should be findable without reading the rest.
- TEMPLATE — straight from the install card, untouched.
- CALIBRATED — your own finished jobs moved these hours. Hover to see the multiplier, the sample size, and what the number would have been without it.
- SCOPED — the interview put this line here. Hover for the reason it gave.
- OVERRIDE — someone typed the number by hand.
Typing over the hours
Click any line's hours to set them yourself, on a project that is still in Planning. An override wins over everything — the template, the quantity ranges, and calibration — because a person deciding a number is the most specific thing the system knows about it.
An override belongs to this project only. The install card is not touched, and no other estimate moves. To change hours everywhere, edit the card in the library instead. Use the revert arrow at the end of the line to go back to the calculated hours.
Post-job card updates
After projects are reviewed and archived, the AI compares estimated vs actual hours per task. When a card consistently runs over or under estimate, a suggestion appears in-app:
- Go to the project review report, the notification bell, or the Inbox
- Review the suggested update (e.g. "Network Cabling runs 20% over — consider increasing hours from 2.0 to 2.4 per run")
- Click Apply to update the master card with one click
Each accepted (or dismissed) review also contributes to your Card Benchmarks — a running average of estimated vs actual hours per card type that the AI uses to validate and calibrate future hour suggestions.
A suggestion that lands within a hair of the current hours (under 0.05h) is treated as calibration confirming your estimate, and resolves itself. You will not be asked to click Approve on a "3h → 3h, held true" result.
Manufacturer overrides compound
A card can carry both a card-level multiplier and a manufacturer-specific override. They stack: a card at 1.2 with a 1.1 override for a given vendor produces 1.32x hours for that vendor's products, not 1.2x.