SpecMade

These materials are password-protected. Enter your details to continue.

Your email helps us know who viewed these materials.

← Back to Deck
Platform architecture

Every inspection feeds the network. Every licensee queries it.

A solo inspector learns from their own archive. A licensee on SpecMade learns from every archive on the network.

How the pipeline works

Decades of inspection archives live in PDFs. The network parses them into a shared, queryable schema.

A new licensee joins with three inputs: their template archive, one branded report PDF, and a historical corpus of thousands of prior reports in cloud storage. The platform parses each into the schema the entire network already queries.

What we start with

The Report PDF

The rendered output. 47 pages, vendor-branded, photo-heavy.

Layout, typography, and section order define the CSS template the platform must reproduce byte-for-byte.

47 Pages
108 Photos
17 Sections
12.4 MB File size

The Template Archive

The licensee’s workflow definition.

15 XML files, 3,460 observation panels, 2,226 selection panels, and a full section and item hierarchy. No two vendors structure theirs the same way.

15 Files
2.8 MB Total size
3,460 Observation panels
2,226 Selection panels

How it works

Step 1 Extract pdfplumber and PyMuPDF pull text and structure per page, with quality-based fallback between them. Tesseract handles OCR on cover pages.
Step 2 Generate Claude reads one report plus the template XML and emits two artifacts: a vendor-specific Python parser and a CSS layout template.
Step 3 Run The parser runs deterministically across the archive. Each report emits two outputs: structured data in the network schema, and the licensee’s branded PDF rendered from CSS.
Template Blueprint
section item observation data field
Total Elements 9,866
Tree Depth 7 Levels
Root Sections 32
Exploring the template tree
templates/layouts/vendor_default.html
AI Generated
CSS Design Tokens
--color-navy#1a2a5e
--color-red#8b1a1a
--color-red-accent#b22222
--color-defect-summary#0000cc
--color-defect-body#cc0000
--color-muted#555555
--color-border-light#999999
--font-header
Verdana, Geneva, sans-serif
--font-body
Verdana, Geneva, sans-serif
cover-title36pt
section-title20pt
item-name14pt
body10pt
caption8pt
page-margin0.5in
item-indent12pt
photo-gap8pt
PROPERTY INSPECTION REPORT
A Nationwide Leader in Quality
Inspection Services
Prepared For: Jane Doe
April 5, 2026
123 Main Street
(555) 123-4567
Inspector: John Smith
License #: IL-12345
Acme Inspections 123 Main St, Springfield, IL
Exterior

1. Siding
Type: Vinyl
Condition: Fair
Observations:
Siding appears to be in serviceable condition with normal wear.
Cracked siding panel noted on the north elevation. Recommend repair.
Location(s): North elevation, second floor
North elevation
Cracked panel
Detail view

2. Roof Covering
Type: Asphalt Shingle
Estimated Age: 12 years
Condition: Good
Observations:
Roof covering appears serviceable. No active leaks observed.
Page 3

Every report writes typed entities into the network’s graph of homes.

A licensee’s vocabulary, findings, and photo labels resolve to the shared ontology every other licensee queries.

Extraction

Claude extracts typed entities from each report’s narrative. A sentence like “The furnace is a Carrier 58STA, approximately 2014 vintage. Heat exchanger shows early stage corrosion” becomes a Furnace record: manufacturer, model, install year, condition, and typed defects. Original prose is preserved alongside the structured output.

What the shared ontology unlocks

A furnace in Springfield and a furnace in Sedona map to the same entity. Cross-property queries run as SQL:

  • Every Carrier 58STA in the network inspected in the last 24 months, grouped by observed heat exchanger condition and install year.
  • Every property where a water heater has been inspected twice, with the delta in condition grade.
  • Every roof covering the network has seen in climate zone 4, benchmarked against the distribution of remaining useful life.
What the inspector wrote

“The furnace is a Carrier 58STA, approximately 2014 vintage. Heat exchanger shows early stage corrosion. Filter is heavily restricted with debris. Recommend HVAC evaluation within 12 months.”

“Main panel is 200-amp service. Breakers properly labeled. Double-tapped breaker observed on 20A circuit.”

“Kitchen sink faucet, dishwasher, range, microwave present and operational. Anti-tip bracket missing on range.”

+ 44 more pages of findings…
AI Extraction
What we extract
CGrade
55Components
18Critical + Major
57Defects
221Photos
Water Heater Plumbing
AO Smith12 yrselectric
100/100 Location: Utility
Exterior Units (x2) HVAC
Guardian2018~5 yrs
82/100 Location: Rear
Range/Oven Appliances
Whirlpool15 yrs240V
40/100 Location: Kitchen
Issues mapped to rooms
KitchenWet Room
Sink, Dishwasher, Range, Microwave
Anti-Tip Bracket MissingBottom Drawer Damaged
Master BathroomWet Room
Sink, Toilet, Bathtub/Shower
Moisture Damage Under Sink
BasementUtility
Foundation Walls, Floor Framing
Beam/Girder AlteredMoisture on Foundation

A live inspection produces structured data as it’s captured.

Voice, photos, and form state are time-synced on device. Matching runs against the licensee’s library, with signal from historical extractions and network-wide frequencies.

Time-synced capture

Voice transcribes with speaker diarization. Photos run through a vision model that tags components, materials, and conditions. Segments and frames share one clock, so voice and images cross-reference by location and moment.

Match to the licensee’s library

Transcript segments and photo tags resolve against the licensee’s library. Candidate ranking uses signal from the licensee’s historical extractions and network-wide frequency distributions.

Render

The record renders to two outputs: the licensee’s branded PDF and a mobile content tree. Extractions write back to the library, raising match quality on the next inspection the network runs.

SpecMade.ai // Library_Match
Mode: Match_Analysis
Smart Match

Double-Tap Breaker

Confidence Score 97.8%
Visual Analysis
Inspector photo of electrical panel Input_Img
Library reference of double-tapped breaker Library_Ref
Match_Confirmed

Two circuits sharing a single breaker terminal. Fire risk due to loose connection and arcing potential. Recommend licensed electrician evaluation.

Electrical panel Input_Photo
Systems Analysis
STRUCTURAL
Detected
Electrical System
HVAC
PLUMBING
Component Main Panel (200A)
Safety Defect Double-Tap on 20A Breaker

How we build

Specialized agents span four model providers, each routed per task. New capabilities start as Claude Code skills, iterated against evals, and promoted to production once they pass. The architectural pattern that governs everything: LLM to deterministic.

Step 1 LLM reasons once Analyzes patterns, extracts structure, writes code
Step 2 Captured as artifact Python parser, typed schema, embedding, structured output
Step 3 Runs deterministically Executes at scale, testable, reproducible, auditable
Quality Deterministic outputs are testable. Regressions fail the eval before they reach production.
Speed We iterate without re-running expensive models on every change.
Trust Every output is reproducible and auditable end-to-end.