Monday, March 16, 2026

Automate Your Building Code Reviews with AI

 


Architecture AI Automation Building Codes Workflow

Stop Doing Building Code
Reviews by Hand

A repeatable 4-step AI workflow — parcel lookup, zoning data collection, statutory analysis, and auto-generated reports — that turns a 2-hour code review into a 30-minute task.

March 2026 8 min read Seoul · Type-2 Residential Zone example

Before a single wall gets drawn, architects run the same checklist on every new project: look up the zoning, check the floor-area-ratio cap, find the height limit, verify parking requirements, and read through the local ordinance for anything unusual. It's necessary work — and it's tedious every single time.

This post walks through a four-step automation workflow that chains public land-use APIs, AI-assisted statutory analysis, and a document template to produce a complete building code review report. The running example is a 173.25 m² parcel in Seoul's Type-2 General Residential Zone, using the DDFL educational report format as the output.

Scope note
All examples use Seoul ordinances (BCR 60%, FAR 200%). The four-step structure works for any Korean municipality — substitute the relevant local ordinance at Step 3. The same logic applies internationally wherever public parcel APIs exist.

Workflow overview

01
Address
verify
02
Eum portal
data pull
03
Code
review
04
Report
output

Steps 1 and 2 are API calls that complete in seconds. Step 3 is where AI earns its keep — mapping raw regulatory text to the specific parcel. Step 4 assembles everything into a clean, submission-ready document.


1 Address verification & parcel code lookup

📍
Standardize the address input
Street address or lot number → 17-digit PNU parcel code

Why this step matters

The land-use APIs in Step 2 don't accept free-text addresses — they require the PNU (Parcel Number Unit) code, a 17-digit identifier unique to every cadastral parcel in Korea. Everything downstream depends on getting this right first.

How to do it

  • Road Address API (MOIS, juso.go.kr): converts any Korean address → canonical lot address + legal-dong code
  • Vworld Geocoding API (vworld.kr): lot address → WGS-84 coordinates + PNU code in one call
  • Ask Claude: "Write Python code to call the Vworld API and return the PNU code for this address." It writes the full request and JSON parser instantly.
  • Result: a standardised lot-address string + 17-digit PNU, ready for Step 2
Pro tip
Clients often supply outdated lot numbers from old deeds. Always run addresses through the MOIS API to resolve the current legal-dong code before calling any other service. Historical parcel changes can be traced at luris.molit.go.kr.

2 Land-use data collection — Eum portal API

🗺
Pull the land-use confirmation sheet
Zoning · use-district · area controls · BCR / FAR · permitted uses

Key fields to extract

FieldExample valueUsed for
Zoning districtType-2 General ResidentialSets BCR / FAR baseline
Use-district overlayMaximum height districtAdditional height cap check
Use-zone designationDevelopment-restricted zoneAct-restriction flag
Parcel area173.25 m²Absolute BCR / FAR limits
Road frontage6 m collector roadAccess, setback, corner cut

Automating the pull

  • Use the Eum OpenAPI (available at data.go.kr): POST the PNU code → JSON land-use plan response
  • Python + requests + openpyxl: API call → parse → write to Excel in ~20 lines
  • Paste the JSON into Claude: "Summarise the planning constraints on this parcel in a table."
  • Output: zoning class, BCR %, FAR %, permitted-use list — structured and ready for Step 3
Watch out
The Eum OpenAPI can lag behind gazette amendments. For permit-stage submissions, always cross-check against a freshly issued 토지이용계획확인서 (land-use confirmation certificate) directly from the Eum website.

Sample collected result

Collected land-use data · Type-2 General Residential Zone
FieldValue
LocationSeoul, District 00, Lot 00-00
Zoning districtType-2 General Residential Zone
Parcel area173.25 m²
Legal BCR60% (max footprint 103.95 m²)
Legal FAR200% (max GFA 346.50 m²)
Parking requirement1 space per 134 m² facility area

3 Statutory code review — Building Act, Decrees & ordinances

Map the full regulatory hierarchy
National Act → Enforcement Decree → Rules → Seoul City Ordinance

Korean building law is layered: the national Building Act sets principles; the Enforcement Decree fills in detail; Enforcement Rules add technical specifics; and the local ordinance (서울특별시 도시계획조례) applies the final municipality-specific numbers. Each layer can only tighten — never relax — the one above it.

Regulatory sources to query

SourceKey itemsWhere to fetch
Building ActParcel access, building line, BCR/FAR principleslaw.go.kr
Enforcement DecreeNorth setback, height calc, corner cut, height relaxationlaw.go.kr
Enforcement RulesSmall-scale parking, accessibilitylaw.go.kr
Seoul City OrdinanceBCR/FAR precise limits, use-specific allowancesSeoul self-governance portal
Seoul Parking OrdinanceStrengthened on-site parking requirementsSeoul self-governance portal
NLUIA Decree Annex 5Permitted-use list for Type-2 Residentiallaw.go.kr

AI prompt pattern — copy and paste this

# Paste into Claude after completing Steps 1–2 Site: Seoul District 00, Lot 00-00 Area: 173.25 m² · Type-2 General Residential Zone Road: 6 m collector road (south frontage) Task: Review each item and return a table with columns [item | code reference | standard | note]: - Parcel access requirements (Building Act Art. 44) - Building line / road setback - North-facing daylight setback - Absolute height limit - BCR limit (Seoul ordinance) - FAR limit (Seoul ordinance) - Parking requirement - Corner-cut (가각전제) obligation - Permitted use: Class-1 neighbourhood commercial?
AI tip
For maximum accuracy, fetch the current statutory text from law.go.kr OpenAPI, paste the relevant articles into the same prompt, and ask Claude to cite exact article numbers. Computed items (north setback formula, absolute FAR in m²) are returned with the formula shown.

Auto-generated code reference table

Key standards · Type-2 General Residential Zone, Seoul
ItemCode referenceStandardNote
Road accessBuilding Act Art. 44≥ 2 m road frontageN/A
Building lineArt. 46 · Decree Art. 31≥ 4 m road → statutory lineN/A
North daylight setbackArt. 61 · Decree Art. 86≥ 1.5 m; > 9 m height → H/210 m revision pending
Max heightBuilding Act Art. 6018 mRelaxation possible
BCRSeoul Ordinance Art. 5460%
FARSeoul Ordinance Art. 55200%
ParkingSeoul Parking Ordinance1 space / 134 m²Small-scale possible
Permitted useNLUIA Decree Annex 5Class-1 neighbourhood facilityBuildable ✓

4 Auto-generate the DDFL building code report

📑
Assemble the report from structured data
Building overview + full code table → PDF · Excel · Word

With Steps 1–3 done you have all the numbers. This step populates the DDFL template — a Building Overview section (project particulars) and a Code Review Table (every checked item with its statutory citation).

Building overview — auto-filled example

Building overview (auto-generated from Steps 1–3)
FieldValue
LocationSeoul, District 00, Lot 00-00
ZoningType-2 General Residential Zone
Parcel area173.25 m²
Footprint (design)[populated after design input]
GFA[sum of floor areas — auto-calculated]
Legal BCR60% → 103.95 m² max
Legal FAR200% → 346.50 m² max
Parking (legal)1 space per 134 m² facility area

Implementation options

  • Python + openpyxl: write values into named-range Excel template; BCR/FAR formulas recalculate automatically when design area is entered
  • Python + python-docx: find/replace placeholder tokens in a Word template — one script, reusable for every project
  • n8n or Make: build a no-code pipeline that runs the full API → AI → document chain on demand
  • Claude prompt chain: feed Steps 1–3 outputs as context, request the DDFL table as Markdown, then convert to Word/PDF via Pandoc

Output formats

📄
PDF report Print-ready for permit submission
📊
Excel workbook Live BCR / FAR / parking formulas
📝
Word template Editable for client revisions

! Before you rely on this in production

Critical checks
  • Statutes are amended frequently — verify every article against current text on law.go.kr before any submission
  • Eum API data may lag gazette changes — issue a fresh confirmation certificate for permit-stage work
  • AI-generated code analysis is a research aid, not a legal opinion — a licensed architect must review and sign off
  • Ordinances vary by municipality — replace Seoul-specific sources for projects outside Seoul
  • The proposed 10 m north-setback threshold revision is not yet in force — confirm before relying on it
What you actually gain
  • First-pass review time cut by roughly 70% — hours become minutes
  • Fewer omissions: the checklist-driven approach flags items human reviewers miss under time pressure
  • Great onboarding tool: junior staff absorb the code hierarchy as each step produces structured output
  • Multi-site screening: compare five candidate parcels side-by-side in the time a manual review covers one
Labels: building-code site-analysis ai-automation architecture-practice korean-building-law ddfl bcr-far eum-portal building-permit workflow

No comments: