Work/2026
Reading Construction Drawings
A fence contractor's estimators read construction drawings by hand to price a bid — slow, and easy to miss something. This reads the drawings and produces a structured takeoff they can check against their own.
- Role
- Engineer, delivered through an AWS partner
- Client
- Fence contractor, via AWS partner
- Built with
- Claude on AWS Bedrock · Computer vision · PDF tiling · React · FastAPI
- per plan set
- 25 sheets
- model cost per plan
- $1-6

The problem
Pricing a fencing bid means finding every fence run on a plan set, working out its type, height and length, and adding it up. Estimators do this manually in specialist software.
The client was clear about what mattered: are the measurements right, and can the different fence types and heights be told apart. Speed was not the point — not missing anything was.
What I built
A pipeline that takes a plan set PDF and reads it sheet by sheet. Plan sheets are far too large and dense to read in one pass, so each sheet is split into overlapping tiles and read tile by tile, then stitched back together with real sheet numbers preserved.
Every row in the output carries the sheet it was read from, so an estimator can verify a number rather than trust it. Estimators can also pick which sheets to read, and leave a note that guides the model without overriding the drawing.
Cost is measured and shown per plan, because a tool that silently spends money on every upload does not survive contact with a business.
What it does not do
It measures length only where a dimension is actually printed on the drawing, or where a CAD convention makes it derivable. Everything else is reported as "not dimensioned" rather than estimated.
That is a deliberate choice. A confident wrong number in a bid costs real money; an explicit gap sends the estimator to check one run.