Takeoff verticals: product reference
Product context: Estym8 is built from scratch as an AI-first construction preconstruction platform—not a legacy takeoff stack with AI bolted on. AI runs across the product: bid-package ingestion and classification, multi-model takeoff and vision, plan intelligence, cross-file synthesis, Estee, estimate-to-submittal draft review, and optimization recommendations. Canonical framing: AI-first positioning.
Purpose: What we can extract from bid-package documents (PDFs + related files), how it maps to the folder pipeline (classify → plan → bundle Grok jobs → structured rawOutput). Sequencing of what ships next is on the product roadmap—this file is the takeoff reference (definitions, P0–P4 tiers, pipeline mapping), not a second backlog.
How we ship a vertical: discipline-aware prompts + optional Zod schema block (e.g. siteworkTakeoff) + UI card + markdown/exports + folder bundle instructions for the right FolderDiscipline. Same spine as MEP; not a separate product line.
Related: Product roadmap — trade depth, intelligence, packaging.
Concrete — concierge (Jerry) ask
Context: Jerry Meek (concierge / folder project) asked for real concrete (and sitework) quantities from the documents, not only MEP and not only high-level narrative.
What we ship today (P0):
| Deliverable | Where it lives | What it is |
|---|---|---|
| Structured concrete lines | rawOutput.siteworkTakeoff.concreteItems on the civil, structural, and (when applicable) architectural bundle estimate | Each row: description, quantity + unit (e.g. CY, SF, LF), sheet refs, methodology, confidence, notes — from Grok reading those PDFs |
| UI | Estimate detail → Sitework takeoff card | Tables for Concrete, Earthwork, Paving, Other site |
| Exports | Folder run markdown report → Sitework takeoff subsection | Same structured lines in lib/reports/estimate-depth-markdown.ts |
| Prompts | lib/folder-workflow/folder-bundle-estimate-instructions.ts | Civil bundle requires siteworkTakeoff; structural bundle requires concreteItems from foundations/slabs/walls |
Still narrative-only (not a substitute for line items): folder-level intelligenceJson.estimateStrategy.concreteAndFoundations — that’s the game-plan paragraph, not measured CY.
Hardening concrete for production bids: treat AI-derived CY/SF as review with methodology + sheet refs; next increments are P1 (rebar/steel, utilities, demo/temp) and deeper civil/struct schema if Jerry’s jobs need more buckets than the current four arrays.
Current L1 execution queue (canonical)
Ordered slices and shipped status: see product roadmap. This file defines vertical meaning and pipeline mapping below; do not maintain a competing “next pick” list here.
Priority summary
| Tier | Focus | When |
|---|---|---|
| P0 | Core production + shipped structured outputs | Now |
| P1 | Full-package GC/site work (concierge, investor demos) | Next |
| P2 | High-value TI/shell verticals | After P1 foundations |
| P3 | Niche trades or heavier validation | As demand proves |
| P4 | Meta-features (scope, deltas, bid mapping) | Parallel where cheap; deeper UX later |
P0 — In production (baseline)
| Vertical | Typical outputs | Status |
|---|---|---|
| Electrical takeoff | Devices, panels, FA (as modeled), raceway/wire, assemblies → BOM | Shipped |
| Mechanical takeoff | HVAC devices, raceway where modeled, assemblies → BOM | Shipped |
| Plumbing takeoff | Fixtures/devices, assemblies → BOM | Shipped |
| Folder workflow | Multi-PDF classify, plan actions, per-discipline bundles, cache | Shipped |
| Project intelligence | intelligenceJson: game plan, file roles, narrative concrete/earth strategy | Shipped |
| Concrete & sitework (structured) | siteworkTakeoff, especially concreteItems — footings, slabs, curb, pads, walls, etc., with units + sheet refs (see Concrete — Jerry above) | Shipped (AI-derived; validate on high-stakes bids) |
| Job / bid context | jobContext, demographics (incl. elevation/survey when on sheets) | Shipped |
| Plan QA | Concerns, draft RFIs, rawMarkdown report | Shipped |
Upgrade themes: tabular extracts, schedule-first objects, and easy-to-miss sheets
Purpose: Product intent that is not only “more verticals” but richer structured objects, explicit schedule-vs-plan governance, and bundle-aware scope (specs, phasing, site). A lot of labor and material sits in schedules, risers, diagrams, and Division 01/26/21/22 text — not only floor-plan symbols and coarse fields such as panels[] from plans.
| Theme | What to extract / govern | Why it matters |
|---|---|---|
| Panel / switchboard schedules | Circuiting, breaker frames, meter/main sizes, spare poles, CT shorting blocks — often tabular, not on the one-line. | Same pattern as other schedules: structured extract + BOM/labor, not only panels[] inferred from plans. |
| Lighting / power / mechanical equipment schedules | Quantities, types, mounting, kits, and “by schedule” governance vs RCP/plan. | You already say schedule vs plan; the upgrade is explicit schedule-first objects (sheet refs + row reconciliation) when those sheets exist. |
| Fire alarm / mass notification | Separate riser, SLC layout, device schedule — not one generic “FA count.” | Easy to under-scope if the model stops at generic fireAlarmDevices counts. |
| Low-voltage / telecom / security | MDF/IDF, rack, cable tray, BDF, access control. | Often not in the electrical power legend the same way; needs discipline-specific treatment. |
| Mechanical: air / hydronic schematic + equipment schedule | Chiller/boiler/RTU/AHU nodes and mains (a “one-line” for piping/duct). | Drives material and labor that diffuser/VAV counts alone do not capture. |
| Plumbing: riser diagrams + fixture schedule + domestic / hot-water heat | Vertical stacks, PRV assemblies, water heaters, RPZ — diagram + schedule, not only fixture symbols on plans. | Same “diagram + schedule” spine as FA/MV. |
| Specs (Divisions 26 / 21 / 22 and 01) when only drawings are in the bundle | Performance specs, included manufacturers, excluded systems, testing/commissioning. | Not on sheets but changes price; jobContext helps — a specScopeSignals block (or explicit “no spec PDF in bundle” concern) closes the loop. |
| Demo / existing-to-remain / phasing | Removed vs abandoned vs new; phasing → mobilization/overtime. | Partially in jobContext; often under-extracted unless you require sheet-level demo notes and a short scope boundary summary. |
| Details & enlarged electrical rooms | In-wall rough, grounding, sleeves, concrete inserts. | Drive fittings and labor beyond generic homerun rules. |
| Site civil / utility electrical | Duct banks, primary, padmount. | Sometimes not on architectural floor plans; site electrical sheets are easy to miss if the pass treats “E sheets = floor plans only.” |
These themes inform prompt + schema + folder bundle instructions work; fold concrete shipped fields into P0/P1 rows above as they land.
P1 — Next (highest leverage for “whole job” + Jerry-style packages)
Ordered within P1 roughly by dependency and reuse of schedule/plan cross-checks.
| # | Vertical | Typical quantities / lines | Notes |
|---|---|---|---|
| 1 | Doors, frames, hardware | Count by type/size; hardware sets; rough openings | Schedule ↔ plan reconciliation; high frequency on every building job — shipped in app: openingsTakeoff on EstimateOutput (lib/schemas/estimate-schema.ts), Doors, frames & hardware card + exports + narrative report section; arch bundle instructions require the block when schedules exist (see folder-bundle-estimate-instructions.ts). |
| 2 | Windows & glazing | Count by type; RO sizes; special systems | Same pattern as doors; often same arch bundle |
| 3 | Structural steel & misc metals (1st pass) | Members, plates, embeds, stairs/rails (from structural drawings) | structuralSteelTakeoff on EstimateOutput; structural bundle requires populated lines when framing/schedules/details show steel; materialOrGradeNotes / coatingsOrFabricationNotes when shown. Queue status: see product roadmap. |
| 4 | Rebar / reinforcing | Tons or LF by bar size, mats, chairs (from details/schedules) | rebarTakeoff; structural bundle requires populated lines when rebar/schedules/details exist; spacingNotes, gradeOrCoatingNotes, shopDrawingValidationNotes. Queue: see product roadmap. |
| 5 | Horizontal utilities | Water, sewer, storm, gas, fire line — LF by size; class/spec and cover/depth/trench when profiles/schedules show; structures; bedding/restoration | horizontalUtilitiesTakeoff on EstimateOutput; civil bundle requires populated lines when runs appear on utilities; pipeClassOrSpecNotes / depthOrTrenchNotes. Queue: see product roadmap. |
| 6 | Demolition & temporary | Demo SF/CY/LF, haul-off, temps, erosion — LF/SY/counts where sheets support | siteLogisticsTakeoff with phasingOrBoundaryNotes, disposalOrHaulRoutingNotes when phased limits or haul/disposal shown; arch + civil bundles require populated lines[] when that quantified story exists (see folder-bundle-estimate-instructions.ts). Queue: see product roadmap. |
| 7 | Cross-discipline consistency report | Schedule vs plan counts, room/name mismatches, missing refs — deltas + next-step triage | disciplineConsistencyReport on EstimateOutput: conflictOrDeltaNotes, recommendedNextStepNotes, optional report overallConfidence; folder arch/civil/struct requires block when ≥2 substantive cross-sheet findings (folder-bundle-estimate-instructions.ts). Queue complete: see product roadmap. |
P2 — Strong verticals (medium effort)
| Vertical | Typical outputs | Notes |
|---|---|---|
| Drywall / partitions / finishes | Partition LF by type/height; ceiling SF; finish SF by room/area | Needs reliable room/area extraction or schedule linkage |
| Roofing & waterproofing | Roof SF by system; flashing LF; penetrations; below-grade SF/LF | Overlaps roadmap §6; ties to envelope |
| Air balance & HVAC summary | CFM by zone/equipment/diffuser; balancing-prepped table | Roadmap §1; extends mechanical bundle |
| HVAC recommendations | Sizing/system notes where schedules support | Roadmap §1 |
| Insulation / envelope R-value | Recommendations or quantities where sections/specs support | Roadmap §5; conditional |
| Low voltage & specialty systems | Data, AV, access, security devices + rough-in | Legend/schedule pattern like electrical |
P3 — Later / niche (validate with customers)
| Vertical | Typical outputs | Notes |
|---|---|---|
| Landscape & irrigation | Planting areas/counts, irrigation LF/zones, walls/site furnishings | Often light on CAD consistency |
| Firestopping / fireproofing | Penetration counts, rated assembly callouts | Detail-heavy; scope varies |
| Signage & wayfinding | Count by type from signage sheets | Only when sheets exist |
| Acoustics | Acoustic ceiling/baffle SF | When sheets exist |
| Pool / site-forward | Pool layout, circulation, equipment (see roadmap §2b) | Vertical market slice |
| Progress / as-built | Planned vs revised PDF or field counts | Workflow + storage; roadmap §8 |
MasterFormat / CSI divisions — partner feedback (Paul)
Point: Larger GCs and many subs expect pricing and takeoffs rolled up by MasterFormat (CSI) division, not only by trade or by our internal bundle labels. If Estym8 exports and UI can speak that language, it fits owner bid forms, cost codes, and Procore / CMiC–style WBS habits.
Reference structure (abridged; align with project spec set):
| Group | Divisions |
|---|---|
| General Requirements | 01 — General Requirements |
| Facility Construction | 02 Existing Conditions · 03 Concrete · 04 Masonry · 05 Metals · 06 Wood, Plastics & Composites · 07 Thermal & Moisture Protection · 08 Openings (doors, windows, glazing) · 09 Finishes · 10 Specialties · 11 Equipment · 12 Furnishings · 13 Special Construction · 14 Conveying Equipment |
| Facility Services | 21 Fire Suppression · 22 Plumbing · 23 HVAC · 25 Integrated Automation · 26 Electrical · 27 Communications · 28 Electronic Safety & Security |
| Site & Infrastructure | 31 Earthwork · 32 Exterior Improvements · 33 Utilities · 34 Transportation · 35 Waterway & Marine |
Rough map — Estym8 today → divisions (evolves as verticals ship):
| Division | Our surface today / planned |
|---|---|
| 01 | jobContext (Division 01 notes, alternates, logistics, wage) — narrative, not yet line-item GC |
| 02 | Partially via demo/temp (P1); narrative in intelligence |
| 03 | siteworkTakeoff.concreteItems |
| 04–07 | P2/P3 (masonry, metals, envelope) |
| 08 | openingsTakeoff — Division 08 doors / frames / hardware + windows (P1 #1–2 shipped 2026-05) |
| 09 | P2 finishes / drywall |
| 10–14 | P3 specialties / equipment / conveying as sheets support |
| 21 | Fire suppression devices where modeled with electrical FA |
| 22 | Plumbing device counts + BOM |
| 23 | Mechanical + air balance (P2) |
| 25 | P2 integrated automation (light) |
| 26 | Electrical device counts + raceway + BOM |
| 27–28 | P2 low voltage / security / data |
| 31 | siteworkTakeoff.earthworkItems |
| 32 | siteworkTakeoff.pavingItems + exterior scope (landscape P3) |
| 33 | P1 horizontal utilities (extend civil schema) |
| 34–35 | As projects require |
Product direction (no schema change in this note):
- Tag lines: Add optional
csiDivision/masterformatCode(e.g."03","03 30 00") onmaterialShoppingListrows and onsiteworkTakeoffline items so exports roll up by division. - Rollup views: UI + CSV/PDF: subtotal by division; optional alignment to owner bid form sections (pairs with P4 bid form mapping).
- Prompts: Ask Grok to set division tags when confident; default from item type (concrete → 03, asphalt site → 32, duct → 23, etc.).
This belongs in P4 meta alongside scope matrix and bid-form mapping, but it touches every vertical once we add tags — so treat division awareness as a cross-cutting contract, not a separate “feature team.”
P4 — Meta (cross-cutting product features)
These are not single trades but multiply the value of every vertical.
| Feature | Value | Notes |
|---|---|---|
| MasterFormat / CSI tagging & rollups | GC-ready subtotals by division; aligns with Paul’s partner feedback | Optional codes on BOM + sitework lines → UI/export groupings; see section above |
| Scope matrix | In/out by division, tied to sheets/specs | Reduces missed scope |
| Long-lead / procurement register | Equipment from schedules + lead-time risk | GC/owner conversations |
| Revision / addenda delta | What changed between folder runs or PDF hashes | Pairs with rebid flow |
| Bid form line mapping | Map takeoff lines → owner bid form rows | Cuts transcription error; natural consumer of division tags |
| Richer non-PDF ingest | XLS BOQ, spec excerpts, bid forms | Already directionally in folder workflow docs |
Maintenance
- When a vertical ships structured fields, link the schema (e.g.
lib/schemas/estimate-schema.ts) and UI here in a one-line footnote. - Revisit P1 ordering quarterly or after major concierge projects — record queue changes on the product roadmap only.
Last updated: 2026-05-06 — P1 L1 complete — disciplineConsistencyReport increment (conflictOrDeltaNotes, recommendedNextStepNotes, overallConfidence, folder 2+ findings rule). Next: L2 themes on the roadmap.