Can AI do a takeoff accurately, and how far can you trust it? We gave eight AI trade specialists a real 90-sheet bid set and checked every mark they made against the architect's own drawings.

Most estimators have heard some version of the pitch: upload the drawings and the software hands back the quantities. Then they open a real set. The doors are on the plans and the door types are in a schedule. The toilet accessories are on an enlarged plan a few sheets later. Some rooms are drawn once as a typical and repeated across the building. A takeoff is mostly reading before it is any clicking.

So we tested the part that matters on bid day. Not whether an AI can measure one line on one sheet, but whether it can take off a whole set, trade by trade, the way an estimator does. And whether you could rely on what it hands back.

We picked a real, public bid set: the 90 architectural sheets for Sanibel Fire and Rescue Station 172, a two-story fire station in Florida. Eight AI specialists, one per trade, worked through it at the same time. We ran that team four times on Claude and once on GPT, recorded every move, and scored the results against the architect's own schedules and room areas.

Here is what we found, and where it went wrong.

In short

The test. Eight AI specialists took off the 90 sheets at the same time, through Takeoff Viewer, the takeoff tool we built, and its MCP server, the connection that lets an AI assistant use it. Each specialist covers one CSI division and follows a written method based on how estimators take off that trade.

Claude. The team finished in 9.5 to 13 minutes across four runs. Every time, it found 49 to 51 of the 53 doors at their tags, all 6 fire extinguishers and 17 of the 20 toilet accessories. Room floor areas came within 5% of the architect's numbers on 13 to 18 of 33 rooms.

GPT. The team took 40 minutes and made four times as many marks. It found all 20 accessories, but missed most of the apparatus bay floor.

The catch. Every mark lands in the viewer as a proposal for an estimator to accept or reject. The misses are the kind a reviewer catches on the sheet: a typical room not multiplied, a wall tag read as a window, two rooms merged into one outline.

9.5 to 13 min

for the whole Claude team, eight specialists at once

51 of 53

doors placed at their tags in three of four Claude runs, none false

0

doors, accessories or room floors counted on two sheets, in any of the five full runs

4.8 h

for a person to make the same marks, by our time model

  1. 1What we did
  2. 2Watch it happen
  3. 3Splitting up 90 sheets
  4. 4Results
  5. 5What went wrong
  6. 6How we kept the test honest
  7. 7Limits
  8. 8What it means for an estimator

1What we did

A bid isn't one sheet. An estimator gets a set, works out which sheets matter to each trade, and takes off every trade from its own pile of plans, schedules and details. We wanted to see how much of that an AI can do on a real set, and how fast.

The set is the architectural bid set for Sanibel Fire and Rescue Station 172, a two-story fire station in Sanibel, Florida. It has 90 sheets at 30 by 42 inches, issued as 100% construction documents in January 2024 and posted publicly by the fire district for bidders.[1] The structural, civil and MEP sheets are separate files, so the test covers architecture.

Before building anything we wrote down how people do this. Our research library collects 225 sources, including 284 transcribed takeoff videos, and turns them into a written standard for each of 14 CSI divisions.[2] A standard says which sheets a trade is measured on, which ones change its quantities, the order of work, the measuring rules and the usual traps.

We built Takeoff Viewer, a takeoff tool. A person opens a PDF set in it, sets the scale, counts items, traces rooms and runs lines. We also built its MCP server. MCP is the open protocol that lets AI assistants like Claude and ChatGPT call software tools.[4] Our server turns each thing a person does in Takeoff Viewer into a tool an AI can call, on the same takeoff the person sees. Any AI assistant that speaks MCP can connect to it; we did not have to build anything separate for Claude or for GPT. For this test the server gives the AI 14 tools, eight trade specialists and two context files for this set.

A specialist is not a different model. It is the same AI given one trade's method: what to measure, on which sheets, in what order, under which names, which traps to avoid and what to report. It then works the sheets with the tools the way an estimator works them with a mouse. Every mark it makes is a proposal until a person accepts it (Figure 1).

AI client Claude Code (Claude) Codex CLI (GPT) MCP 1 Loadthe specialistand its bundle 2 Readschedules, tags,scale per sheet 3 Markpoints, lines,areas 4 Checklook at whatlanded, fix it 5 Reporttotals, mismatches,doubts repeat per sheet Estimator, in the viewer accepts or rejects each mark; agents can't change accepted work Eight specialists ran this loop at the same time, one per division, in one shared takeoff.
Figure 1. The hand-off. Claude ran through Claude Code and GPT through OpenAI's Codex CLI on a ChatGPT plan. The ChatGPT app's own connector needs the server on a public address, and we have not run it yet.

2Watch it happen

The server logs every tool call with its time, the sheet, the part of the sheet the AI looked at and the marks it made. Figure 2 plays a whole run back from that log across all 90 sheets. Press play to see where each specialist looked and every door, room and line as it landed. Click any sheet to watch only that sheet.

00:00 / 00:00
0sheets being worked on now
0specialists working now
0of 90 sheets opened so far
0marks placed so far
Loading
    Not opened yetOpenedBeing worked on now, in the specialist's colorAmber number: marks on that sheet
    Figure 2. The whole takeoff, replayed from the server's log of every tool call. Dashed boxes are where a specialist looked or read; filled shapes, lines and dots are its marks as they landed. Pick a run, play it, drag the slider, or click any sheet to watch it. "Follow the action" jumps to the sheet with the latest activity.

    This is what an estimator opens when the run is done. Figure 3 shows Claude run 4's finished takeoff in Takeoff Viewer, on three sheets. Nothing is accepted yet. The panel on the right counts the proposals waiting for review.

    A162, second floor finish plan: every room floor outlined by finish code, with its area
    A162, second floor finish plan: every room floor outlined by finish code, with its area
    A102, second floor plan: door numbers, shades and the kitchen countertop
    A102, second floor plan: door numbers, shades and the kitchen countertop
    A461, enlarged toilet plans: restroom floors and accessories measured where they are drawn
    A461, enlarged toilet plans: restroom floors and accessories measured where they are drawn
    Figure 3. Claude run 4's finished takeoff open in Takeoff Viewer. Each colored outline, dot and line is one proposal with its condition and quantity. On A461 the decontamination restroom outline includes the shower, which is why it comes out larger than the life safety plan's 42 SF.

    We also filmed the viewer itself while the runs happened, in four browser tabs pinned to four sheets.

    Claude run 4, 9.5 minutes, shown at 30x

    Claude: A101, first floor plan

    Claude: A102, second floor plan

    Claude: A461, enlarged toilet plans

    Claude: A151, roof plan

    GPT, 40 minutes, shown at 30x

    GPT: A101, first floor plan

    GPT: A102, second floor plan

    GPT: A461, enlarged toilet plans

    GPT: A151, roof plan

    Figure 4. The viewer filmed every 3 seconds during the runs, one tab per sheet, played back at 30 times speed. Marks arrive as proposals and the panel on the right counts them up.

    3Splitting up 90 sheets

    An estimator's first job is reading the set and deciding which sheets each trade needs. We gave that to two models. A document AI read all 90 pages into text and tables in 72 seconds. Then a second model answered one question for every sheet and division: is this sheet measured on, does it change the quantities, is it only a cross-check, or is it not needed? That took 17 seconds for 90 sheets.

    We checked the sort before trusting it. Claude wrote a reference answer first, and a separate reviewer agent settled every disagreement without knowing which side was which. The sorting model matched the reviewed answer on about 95% of sheet and division pairs, and an audit of the pairs both agreed on puts its real accuracy nearer 90%. Missing a sheet loses quantities, while an extra sheet only costs a specialist a few seconds, so a sheet stayed in a trade's bundle unless the model was confident it wasn't needed. That kept 320 of the 323 pairs that mattered.

    G000 COVER: in 0 of 14 bundlesG000noneG001 GENERAL INFORMATION AND ABBREVIATIONS: in 6 of 14 bundlesG0016G010 CODE SUMMARY & CALCULATIONS: in 4 of 14 bundlesG0104G011 FLORIDA PRODUCT APPROVALS: in 2 of 14 bundlesG0112G020 UL ASSEMBLIES: in 2 of 14 bundlesG0202G021 UL ASSEMBLIES: in 2 of 14 bundlesG0212G022 UL ASSEMBLIES: in 3 of 14 bundlesG0223G031 PARTITION TYPES & NOTES: in 4 of 14 bundlesG0314G032 TYPICAL PARTITION DETAILS: in 6 of 14 bundlesG0326G101 LIFE SAFETY PLANS: in 9 of 14 bundlesG1019AS011 DEMOLITION SITE PLAN: in 5 of 14 bundlesAS0115AS012 ARCHITECTURAL SITE PLAN: in 3 of 14 bundlesAS0123AS013 CONSTRUCTION STAGING PLAN: in 1 of 14 bundlesAS0131AS501 SITE PLAN DETAILS: in 7 of 14 bundlesAS5017AS502 SITE PLAN DETAILS: in 2 of 14 bundlesAS5022AS503 SITE DETAILS - EXISTING STORAGE BUILDING: in 8 of 14 bundlesAS5038A030 SLAB PLAN - APPARATUS BAY: in 6 of 14 bundlesA0306A031 SLAB PLAN - FIRST FLOOR: in 8 of 14 bundlesA0318A032 SLAB PLAN - SECOND FLOOR: in 7 of 14 bundlesA0327A100 ARCHITECTURAL PLAN - APPARATUS BAY: in 12 of 14 bundlesA10012A101 ARCHITECTURAL PLAN - FIRST FLOOR: in 13 of 14 bundlesA10113A102 ARCHITECTURAL PLAN - SECOND FLOOR: in 10 of 14 bundlesA10210A103 ARCHITECTURAL PLAN - STAIR TOWER: in 10 of 14 bundlesA10310A120 DIMENSION PLAN - APPARATUS BAY: in 9 of 14 bundlesA1209A121 DIMENSION PLAN - FIRST FLOOR: in 10 of 14 bundlesA12110A122 DIMENSION PLAN - SECOND FLOOR: in 10 of 14 bundlesA12210A141 REFLECTED CEILING PLAN - APPARATUS LEVEL & FIRST FLOOR: in 5 of 14 bundlesA1415A142 REFLECTED CEILING PLAN - SECOND FLOOR: in 5 of 14 bundlesA1425A151 ROOF PLAN: in 3 of 14 bundlesA1513A152 ROOF PLANS: in 4 of 14 bundlesA1524A160 INTERIOR FINISH SCHEDULE, LEGENDS AND DETAILS: in 5 of 14 bundlesA1605A160-A FINISH PLAN -APPARATUS BAY: in 4 of 14 bundlesA160-A4A161 FINISH PLAN - FIRST FLOOR: in 7 of 14 bundlesA1617A162 FINISH PLAN - SECOND FLOOR: in 6 of 14 bundlesA1626A171 EQUIPMENT AND FURNITURE PLANS: in 8 of 14 bundlesA1718A190 SIGNAGE TYPES & NOTES: in 1 of 14 bundlesA1901A200 EXTERIOR FINISH LEGEND: in 2 of 14 bundlesA2002A201 EXTERIOR ELEVATIONS: in 8 of 14 bundlesA2018A202 EXTERIOR ELEVATIONS: in 8 of 14 bundlesA2028A251 INTERIOR ELEVATIONS: in 7 of 14 bundlesA2517A252 INTERIOR ELEVATIONS: in 7 of 14 bundlesA2527A253 INTERIOR ELEVATIONS: in 7 of 14 bundlesA2537A254 INTERIOR ELEVATIONS: in 7 of 14 bundlesA2547A255 INTERIOR ELEVATIONS: in 7 of 14 bundlesA2557A301 BUILDING SECTIONS: in 7 of 14 bundlesA3017A302 BUILDING SECTIONS: in 6 of 14 bundlesA3026A303 BUILDING SECTIONS: in 7 of 14 bundlesA3037A304 BUILDING SECTIONS: in 7 of 14 bundlesA3047A305 BUILDING SECTIONS: in 6 of 14 bundlesA3056A351 WALL SECTIONS: in 9 of 14 bundlesA3519A352 WALL SECTIONS: in 8 of 14 bundlesA3528A353 WALL SECTIONS: in 7 of 14 bundlesA3537A354 WALL SECTIONS: in 9 of 14 bundlesA3549A355 WALL SECTIONS: in 7 of 14 bundlesA3557A401 ENLARGED FLOOR PLANS: in 8 of 14 bundlesA4018A441 ENLARGED RCP'S: in 5 of 14 bundlesA4415A460 TOILET ACCESSORY SCHEDULE & MOUNTING HEIGHTS: in 3 of 14 bundlesA4603A461 ENLARGED FLOOR PLANS - TOILET: in 7 of 14 bundlesA4617A481 ENLARGED STAIR PLANS - INTERIOR: in 7 of 14 bundlesA4817A482 ENLARGED STAIR PLANS - EXTERIOR: in 7 of 14 bundlesA4827A483 STAIR / LIFT SECTIONS: in 6 of 14 bundlesA4836A484 ENLARGED STAIR SECTIONS: in 6 of 14 bundlesA4846A485 ENLARGED STAIR SECTIONS: in 6 of 14 bundlesA4856A500 DOOR SCHEDULE, DOOR AND FRAME TYPES: in 6 of 14 bundlesA5006A501 STOREFRONT, WINDOWS AND LOUVER TYPES, AND DETAILS: in 5 of 14 bundlesA5015A510 DETAILS - DOOR / WINDOW / LOUVER: in 4 of 14 bundlesA5104A511 DETAILS - DOOR / WINDOW: in 5 of 14 bundlesA5115A512 DETAILS - DOOR / WINDOW: in 4 of 14 bundlesA5124A513 DETAILS - STOREFRONT: in 4 of 14 bundlesA5134A514 DETAILS - STOREFRONT: in 5 of 14 bundlesA5145A521 DETAILS - EXTERIOR: in 6 of 14 bundlesA5216A522 DETAILS - EXTERIOR: in 6 of 14 bundlesA5226A523 DETAILS - EXTERIOR: in 3 of 14 bundlesA5233A524 DETAILS - EXTERIOR: in 4 of 14 bundlesA5244A541 DETAILS - CEILING: in 3 of 14 bundlesA5413A551 DETAILS - ROOF: in 4 of 14 bundlesA5514A552 DETAILS - ROOF: in 3 of 14 bundlesA5523A561 DETAILS - INTERIOR: in 3 of 14 bundlesA5613A562 DETAILS - INTERIOR: in 7 of 14 bundlesA5627A571 MILLWORK & CASEWORK DETAILS: in 4 of 14 bundlesA5714A581 DETAILS - STAIR & LIFT: in 6 of 14 bundlesA5816A582 DETAILS - TYP. STAIR: in 2 of 14 bundlesA5822A583 DETAILS - EXTERIOR STAIR: in 4 of 14 bundlesA5834AR100 ARCHITECTURAL RENDERING - FOR REFERENCE ONLY: in 0 of 14 bundlesAR100noneAR101 ARCHITECTURAL RENDERING - FOR REFERENCE ONLY: in 0 of 14 bundlesAR101noneAR102 ARCHITECTURAL RENDERING - FOR REFERENCE ONLY: in 0 of 14 bundlesAR102noneAR103 ARCHITECTURAL RENDERING - FOR REFERENCE ONLY: in 0 of 14 bundlesAR103noneAR104 ARCHITECTURAL RENDERING - FOR REFERENCE ONLY: in 0 of 14 bundlesAR104noneAR105 ARCHITECTURAL RENDERING - FOR REFERENCE ONLY: in 0 of 14 bundlesAR105noneAR106 ARCHITECTURAL RENDERING - FOR REFERENCE ONLY: in 0 of 14 bundlesAR106nonenone bundles1 to 2 bundles3 to 5 bundles6 to 8 bundles9 or more bundles
    Figure 5. How many of the 14 division bundles use each sheet. The first floor plan A101 is in 13 of them. The cover and the seven renderings are in none. This is the sort's output, and it is what each specialist was handed.

    Enlarged plans, and how nothing got counted twice

    Toilet rooms, stairs and other tight spaces are drawn twice in this set: once on the floor plan and again on an enlarged plan at a bigger scale. The enlarged plan is the only place some things are shown. The toilet accessory tags and the restroom finish outlines are on A461, the enlarged toilet plan, and not on the floor plans. So the methods say to count those items and measure those rooms on the enlarged plan, which is what estimators do.

    Drawing the same room twice means it can be counted twice. The rule in every method is to count an item once, on the sheet that shows it best, and the specialist labels each mark with its door number, accessory type or room number. Afterwards we checked every run for the same door number, accessory or room floor on more than one sheet. There were none in any of the five full runs. The tool does not block a double count by itself. The specialists avoided it by following the rule, and the labels make one easy to spot in review.

    4Results

    We ran the Claude team four times to see how much the results move between runs, and the GPT team once. Section 6 explains what differed between runs. The answer key comes from the architect's own drawings and was fixed before the scored runs.

    Table 1. Scored results. Claude is the range over four runs
    TaskAnswer keyClaudeGPT
    Doors placed at their tags53 doors on the A500 schedule49 to 513716 more placed on enlarged plans
    Storefront openings by type36 SF tags on the plans31 to 3533
    Toilet accessories by type20 on the A461 plans1720
    Fire extinguishers6 on the life safety plan G10166
    Rooms within 5% of the architect's area33 room areas on G10113 to 1814
    Median room area error1.4 to 2.7%1.7%
    Total floor area of the rooms it measured−1.1 to −2.8%−32.7%
    Wrong marks on scored items2 to 178
    Time, first tool call to last9.5 to 13.1 min40.2 min
    Marks placed, all trades335 to 3921,315

    The Claude runs agree closely on counts. Doors, accessories and extinguishers barely move from run to run. Room areas move more, because which rooms a specialist decides to outline changes from run to run, but the rooms it does outline usually land within a few percent (Figure 6).

    GPT worked very differently. It made five times the tool calls, opened 79 of the 90 sheets, and measured far more than the scored items, for example 185 glazing and storefront areas on the exterior elevations. It was the only team to count the typical crew restroom twice, which gave it all 20 accessories. It also outlined only about a fifth of the apparatus bay floor, which left its total area a third short.

    within 5%-30%-20%-10%-5%0%+5%+10%+20%+30%+40%+50%Claude 1112 MED STORAGE: 90.7 SF against 92 SF (-1.4%)104 DECONTAMINATION: 150 SF against 146 SF (+2.7%)108 TURNOUT GEAR: 168.5 SF against 155 SF (+8.7%)113 MECHANICAL: 299.7 SF against 300 SF (-0.1%)110 ELECTRICAL: 98.4 SF against 98 SF (+0.4%)100 LOBBY: 144.8 SF against 143 SF (+1.3%)102 PUBLIC R.R.: 38.9 SF against 40 SF (-2.8%)105 DECON R.R.: 60.2 SF against 42 SF (+43.4%)111 WORKSHOP: 115.9 SF against 116 SF (-0.1%)101 FIRST AID: 81.3 SF against 76 SF (+6.9%)001 APPARATUS BAY: 3263.2 SF against 3359 SF (-2.9%)220 BUNK 1: 109 SF against 109 SF (0%)219 BUNK 2: 108.9 SF against 109 SF (-0.1%)218 BUNK 3: 107.8 SF against 109 SF (-1.1%)217 BUNK 4: 109.3 SF against 109 SF (+0.2%)216 BUNK 5: 110.9 SF against 109 SF (+1.7%)215 WATCH ROOM: 126.1 SF against 130 SF (-3%)214 OFFICER'S QUARTERS: 161.2 SF against 159 SF (+1.4%)202 LAUNDRY: 75.2 SF against 71 SF (+5.9%)205 FITNESS: 381.1 SF against 368 SF (+3.6%)204 I.T. ROOM: 52.1 SF against 52 SF (+0.2%)201A SLIDE POLE ACCESS: 1391.1 SF against 68 SF (+1945.7%)Claude 2112 MED STORAGE: 90.7 SF against 92 SF (-1.4%)104 DECONTAMINATION: 146.3 SF against 146 SF (+0.2%)108 TURNOUT GEAR: 155.9 SF against 155 SF (+0.6%)113 MECHANICAL: 299.7 SF against 300 SF (-0.1%)110 ELECTRICAL: 98.4 SF against 98 SF (+0.4%)100 LOBBY: 137.7 SF against 143 SF (-3.7%)102 PUBLIC R.R.: 40 SF against 40 SF (0%)105 DECON R.R.: 61.4 SF against 42 SF (+46.2%)111 WORKSHOP: 116.1 SF against 116 SF (+0.1%)101 FIRST AID: 78.5 SF against 76 SF (+3.3%)114 COVERED PORCH: 168.6 SF against 326 SF (-48.3%)001 APPARATUS BAY: 3384.4 SF against 3359 SF (+0.8%)001A CATWALK: 166.8 SF against 152 SF (+9.8%)220 BUNK 1: 118.6 SF against 109 SF (+8.8%)219 BUNK 2: 113.2 SF against 109 SF (+3.9%)218 BUNK 3: 113.3 SF against 109 SF (+3.9%)217 BUNK 4: 111.9 SF against 109 SF (+2.7%)216 BUNK 5: 111.3 SF against 109 SF (+2.1%)215 WATCH ROOM: 128.1 SF against 130 SF (-1.4%)214 OFFICER'S QUARTERS: 159 SF against 159 SF (0%)202 LAUNDRY: 66.8 SF against 71 SF (-6%)205 FITNESS: 367.3 SF against 368 SF (-0.2%)204 I.T. ROOM: 54.1 SF against 52 SF (+4%)201A SLIDE POLE ACCESS: 119.1 SF against 68 SF (+75.1%)Claude 3104 DECONTAMINATION: 154.3 SF against 146 SF (+5.7%)108 TURNOUT GEAR: 121.9 SF against 155 SF (-21.3%)113 MECHANICAL: 306.8 SF against 300 SF (+2.3%)110 ELECTRICAL: 98.4 SF against 98 SF (+0.4%)100 LOBBY: 175.4 SF against 143 SF (+22.6%)102 PUBLIC R.R.: 40.1 SF against 40 SF (+0.3%)105 DECON R.R.: 61.8 SF against 42 SF (+47.1%)111 WORKSHOP: 116.1 SF against 116 SF (+0.1%)101 FIRST AID: 76 SF against 76 SF (0%)001 APPARATUS BAY: 3263.2 SF against 3359 SF (-2.9%)001A CATWALK: 143.3 SF against 152 SF (-5.7%)220 BUNK 1: 109 SF against 109 SF (0%)219 BUNK 2: 108.9 SF against 109 SF (-0.1%)218 BUNK 3: 109 SF against 109 SF (0%)217 BUNK 4: 108.9 SF against 109 SF (-0.1%)216 BUNK 5: 108.4 SF against 109 SF (-0.5%)215 WATCH ROOM: 135.7 SF against 130 SF (+4.4%)214 OFFICER'S QUARTERS: 210.5 SF against 159 SF (+32.4%)202 LAUNDRY: 71.9 SF against 71 SF (+1.3%)205 FITNESS: 318.9 SF against 368 SF (-13.3%)201A SLIDE POLE ACCESS: 1285.3 SF against 68 SF (+1790.1%)Claude 4112 MED STORAGE: 92.8 SF against 92 SF (+0.8%)104 DECONTAMINATION: 112.3 SF against 146 SF (-23.1%)108 TURNOUT GEAR: 155.5 SF against 155 SF (+0.3%)113 MECHANICAL: 308.6 SF against 300 SF (+2.9%)110 ELECTRICAL: 98.4 SF against 98 SF (+0.4%)100 LOBBY: 149.9 SF against 143 SF (+4.8%)102 PUBLIC R.R.: 40.2 SF against 40 SF (+0.4%)105 DECON R.R.: 60.1 SF against 42 SF (+43.1%)111 WORKSHOP: 113.2 SF against 116 SF (-2.4%)101 FIRST AID: 76 SF against 76 SF (0%)001 APPARATUS BAY: 3304.9 SF against 3359 SF (-1.6%)001A CATWALK: 169.2 SF against 152 SF (+11.3%)220 BUNK 1: 115.6 SF against 109 SF (+6.1%)219 BUNK 2: 115.5 SF against 109 SF (+6%)218 BUNK 3: 115.6 SF against 109 SF (+6.1%)217 BUNK 4: 115.5 SF against 109 SF (+6%)216 BUNK 5: 115.2 SF against 109 SF (+5.7%)215 WATCH ROOM: 137.3 SF against 130 SF (+5.6%)214 OFFICER'S QUARTERS: 162.2 SF against 159 SF (+2%)202 LAUNDRY: 72.2 SF against 71 SF (+1.7%)205 FITNESS: 367.3 SF against 368 SF (-0.2%)204 I.T. ROOM: 52 SF against 52 SF (0%)201A SLIDE POLE ACCESS: 68.4 SF against 68 SF (+0.6%)GPT112 MED STORAGE: 92.4 SF against 92 SF (+0.4%)104 DECONTAMINATION: 127.7 SF against 146 SF (-12.5%)108 TURNOUT GEAR: 155.9 SF against 155 SF (+0.6%)113 MECHANICAL: 299.7 SF against 300 SF (-0.1%)110 ELECTRICAL: 98.4 SF against 98 SF (+0.4%)100 LOBBY: 151.5 SF against 143 SF (+5.9%)102 PUBLIC R.R.: 41.1 SF against 40 SF (+2.8%)105 DECON R.R.: 41.3 SF against 42 SF (-1.7%)111 WORKSHOP: 116.2 SF against 116 SF (+0.2%)101 FIRST AID: 77.1 SF against 76 SF (+1.4%)114 COVERED PORCH: 298.8 SF against 326 SF (-8.4%)001 APPARATUS BAY: 725.8 SF against 3359 SF (-78.4%)001A CATWALK: 307.4 SF against 152 SF (+102.2%)215 WATCH ROOM: 130.9 SF against 130 SF (+0.7%)202 LAUNDRY: 72.6 SF against 71 SF (+2.2%)205 FITNESS: 368.9 SF against 368 SF (+0.2%)221 PATIO: 475 SF against 486 SF (-2.3%)204 I.T. ROOM: 52.7 SF against 52 SF (+1.4%)223 TRAINING ROOF: 858.5 SF against 873 SF (-1.7%)Each dot is one room. Values past the axis are drawn at its edge. Hover a dot for the room and its numbers.
    Figure 6. Each dot is one room: the agent's area against the area printed on the life safety plan. Most rooms in every run land inside the 5% band. The dots far to the right are mostly the decontamination restroom 105, whose outline includes the shower, and rooms folded into a neighbour's outline.

    Against a person

    We did not time a person on this set. Instead we estimated how long a person would take to make the same marks. From the library's videos we timed 55 single actions, such as clicking a count, tracing a room, setting a scale and reading a sheet, and took a low, middle and high time for each.[3] Then we multiplied by what Claude run 1 actually did: 241 counts, 59 areas, 39 lines, 117 item types set up, 14 scales, every sheet a specialist opened, plus one read of the whole set and a share for checking.

    0 h5 h10 h15 hAgents, wall clock (8 at once)13 minAgents, added together50 minPerson, modelled: low1.3 hPerson, modelled: central4.8 hPerson, modelled: high14.1 h
    Figure 7. Hours for the marks Claude run 1 made. The agents' time is measured. The person's time is a model: 4.8 hours at middle values, 1.3 hours if every action is fast, 14.1 hours if every action is slow.

    Most of the person's time is not clicking. Clicking 241 points is about ten minutes. Reading sheets and setting up 117 item types is most of the rest. The model is rough. It only prices what the agents did, and they did not finish every trade, so a complete manual takeoff would take longer. It also counts each specialist's sheet reading separately, where one person doing every trade would read some sheets once.

    5What went wrong

    Each of these is something an estimator would catch on review, which is why every mark is a proposal. They are also the list of things the methods and tools need to get better at.

    Counting

    • The typical crew restroom was counted once by Claude. A461 draws one crew restroom marked typical for rooms 212 and 213. No Claude run placed the doubled counts, which leaves three accessories short every time. GPT doubled it.
    • The two lift doors were never credited. The schedule lists doors 124 and 224 as supplied by the lift maker. Most runs carried them as lift entrances under Division 14 instead of as doors.
    • GPT put 16 doors on enlarged plans. It followed the rule to count on the enlarged plan, but the stair plan A481 draws the doors without tags, so we could only check its eight points there by eye. They sit on the right openings.

    Reading

    • Wall tags read as windows. In Claude run 2 the openings specialist counted 10 W2 tags and 7 Z6 tags as window types. Both are partition types on this set.
    • A drawing conflict went unreported. The signage schedule says 15 room signs and the plans tag 10. The specialist counted 10 and said the number looked low, but did not report the conflict.
    • The lift models were missed. The sheet that names the two Garaventa lifts was in the lift specialist's bundle but labelled "not needed" by the sort, so the specialist never opened it.

    Measuring

    • Rooms folded together. In run 1 the second floor kitchen, dining, day room and corridor came out within 2% of their combined area, but the outline also took in the slide pole room next door.
    • GPT outlined part of the apparatus bay. Its outline was 78% under the bay's 3,359 SF.
    • Outdoor areas were mostly skipped. The covered porch, mechanical yard, patio and training roof deck carry floor finishes but were rarely measured.

    The specialists also caught things a reviewer would want to know. They flagged a pair door that changes the leaf count, owner-furnished accessories that are install-only, an equipment tag that looks like a mis-tag, a grill hood on the schedule with no tag on the plan, and a schedule row that contradicts its own remarks. Every report lists what the specialist did not do and why.

    6How we kept the test honest

    The answer key

    Every answer comes from text the architect put in the PDF, not from any AI takeoff. We built the key and fingerprinted its files before the scored runs.

    Table 2. Where each answer comes from
    TaskSource in the drawingsA mark counts when
    DoorsThe door schedule on A500, located by each door's tag on the floor plans. Door tags and room numbers use slightly different text sizes in the PDF, which is how we told them apart.A point labelled with the door number is within about 7 ft of its tag. Door 124 has no tag, so 52 of 53 is the best possible.
    StorefrontThe SF1 to SF12 tags on the floor plans, one tag per opening.A point of the right type is within about 7 ft of the tag.
    Room areasThe area printed for each room on the life safety plan G101.An outline holds the room's label and comes within 5% of the printed area.
    AccessoriesThe T tags on the enlarged toilet plans, with the typical crew restroom counted twice.The count of each type matches.
    ExtinguishersThe extinguisher symbols on G101, leaving out the legend.A point sits on the symbol.

    Everything else the specialists produced, such as roofs, flashing, partitions, ceilings, shades and countertops, is in the run files but not scored, because we have no independent answer for it.

    What each run was

    Table 3. The runs. Same specialists, prompts and answer key in all of them
    RunWhat was differentDoorsStore­frontRooms in 5%Minutes
    Claude 1First scored run. Not filmed.51321713.1
    Claude 2The same setup again, to see how much a repeat moves.51321810.9
    Claude 3First filmed run. The footage came out soft, so it is not shown.49351311.8
    Claude 4Filmed, on the faster server described below. Its replay, screenshots and videos are the ones in this report.5131149.5
    GPTgpt-6-astra through the Codex CLI, filmed, on the faster server.37331440.2
    HaikuClaude's smaller model, three scored specialists only, with a lower stop limit. It stopped early.482535.5

    The Claude runs differ only in randomness and in two things outside the AI: whether we filmed the run, and which server build it used. The specialists, prompts, answer key and scoring are the same in all of them.

    Changes after the first runs

    We made five corrections after scoring began, and logged each one with its reason. Four fixed gaps in our key or bugs in our scorer that came to light on run 1: a label like "T-1 102" was misread, two doors and three restrooms had a second valid location we had missed, and four open-plan rooms with no walls between them are now judged as one. The fifth came with the GPT run, which labelled floor transitions and door paint with door numbers, so each task now only scores items from its own division. These changes raised run 1's score. As first scored, run 1 had 49 doors, 16 rooms within 5% and 3 accessories, the last because of the label bug. Before any scored run, an unscored pilot also led us to tell every specialist to finish its whole method and check its marks.

    The server got faster mid-test

    Our first GPT run stalled. GPT asks for many more sheet images than Claude, and the server drew every image on one thread, redrawing the whole sheet even for a small corner. Under that load an image took a median 19 seconds and the finishes specialist gave up, so that run is not scored. We moved the drawing to a small pool of worker threads and now draw each sheet once and cut later views from it. In a load test a second look at a sheet went from 5 to 10 seconds to under half a second. The tools return the same answers as before. Claude run 4 and the scored GPT run use the faster server.

    7Limits

    • One set. One building type, one architect, one drafting style, and only the architectural sheets.
    • Part of the work is scored. Doors, storefront, rooms, accessories and extinguishers have answers. Roofs, partitions, ceilings, shades, casework and the envelope do not.
    • We built the key and corrected it. It comes from the architect's text, but we chose how to read it, and five corrections came after scoring began.
    • The room areas on G101 are net or gross by the sheet's own legend, so a few percent of difference can be convention rather than error.
    • The person's time is a model, built from tutorial and working videos, not a timed estimator on this set.
    • An AI checked the sheet sort, applying our standards. A licensed estimator has not yet reviewed the sort or the standards.
    • Few runs. Four Claude runs and one GPT run show how much results move, not a full distribution. The ChatGPT app's own connector has not been run.

    8What it means for an estimator

    The slow part of takeoff isn't the clicking. Reading the set, deciding what each trade needs, setting up item types and tracing rooms is most of a person's day. Eight specialists did that work in parallel, in about ten minutes, and left every mark on the sheet where a reviewer can see it.

    On the items we could check, the counts were right most of the time and about half the rooms came within 5%. The mistakes were the kind an estimator recognizes at a glance. That makes the useful workflow a review, not a rebuild. The estimator opens the viewer, sees every proposed door, room and accessory on its sheet, reads the specialist's list of conflicts, and accepts, fixes or rejects.

    The next steps come straight from the misses: multiply typical plans, check each tag against the legend before counting it, report every conflict between a schedule and a plan, and connect the ChatGPT app through its own connector.

    Sources

    1. Sanibel Fire and Rescue District, Station 172 bid set, architectural, 100% construction documents, 2024-01-05. sanibelfire.com. Architect of record: Schenkel Shultz. Checked 2026-10-31
    2. Custom GC Apps, takeoff research library: 225 sources, 284 video transcripts and 14 trade standards. Internal, to be published.
    3. Custom GC Apps, manual time per action: 55 single actions timed from the library's video transcripts, with low, middle and high values and the likely bias of each source. Internal working paper, 2026-10-31.
    4. Model Context Protocol, specification and documentation. modelcontextprotocol.io. Checked 2026-10-31

    The drawings are the work of Schenkel Shultz, used with their agreement. The test rules, answer key, scorer and every run's logs are kept with the field test files.

    Let's build
    something
    that ships.

    Tell us about the workflow that costs your team the most time. We'll tell you honestly whether we can help.

    Get in touch

    Leave your name and work email. We'll reply within one business day with a few times for a 30-minute call.

    Or email contact@customgcapps.com. See our privacy notice.