"Hey ChatGPT, design me a house."
ChatGPT: "Sure! Here is a lovely 3-bedroom house where the only toilet is inside the oven, the front door opens into an elevator void, and the staircase ascends directly into the ceiling slab." π«
If youβve ever tried using modern GenAI to generate architectural plans or evaluate a piece of real estate, you know the pain. Large Language Models are brilliant poets and witty coders, but when it comes to spatial geometry, civil building codes, and structural physics, they hallucinate like a sleep-deprived toddler playing with Minecraft blocks.
Meanwhile, the traditional workflow of buying a plot of land and getting it vetted is practically medieval:
- Pay $1,500 for a topological survey.
- Wait 3 weeks for an environmental and flood risk assessment.
- Consult a structural engineer to cross-reference seismic code tables (IS 1893).
- Pay an architect $3,000 for CAD drafts that end up violating municipal setbacks (NBC 2016).
- Wonder why your bank account is weeping before a single brick has been laid.
I decided to solve this. Alone. In code.
Meet BuildWise AI β an open-source, sovereign platform where you drop a single pin on an interactive 3D globe and receive an enterprise-grade civil engineering dossier, structural risk analysis, CPWD cost estimate, and a generative, constraint-checked architectural blueprint in under 3 seconds.
Oh, and the entire geospatial pipeline costs exactly $0.00 in paid API fees. No Google Maps billing, no Mapbox metered charges, no commercial satellite subscriptions.
Here is the deep dive into how it works under the hood β from the math of Spatial Constraint Satisfaction Problems (CSP) to 5-Factor MCDA Land Suitability, and how ancient Indian Vastu Shastra turned out to be an exquisite bioclimatic optimization matrix.
β‘ The 3-Second Magic: What Happens on Click?
Here is what happens the instant a user clicks a coordinate on the map:
[ User Drops Pin on Map ]
β
βββββΊ 1. Sliding-Window Rate Limiter (30 req/min)
β
βββββΊ 2. Parallel Telemetry Ingestion (All Free / Open-Access!)
β βββ Digital Elevation Model (USGS / Copernicus GLO-30 DEM)
β βββ Microclimate & Wind Vectors (Open-Meteo Forecast)
β βββ Seismic History (USGS FDSN Earthquake Catalog)
β βββ Hydrological Flow (Copernicus GloFAS River Discharge)
β
βββββΊ 3. Deterministic Civil Calculation Core
β βββ 5-Factor Weighted MCDA Land Suitability Matrix
β βββ IS 1893:2016 Zone & Peak Ground Acceleration (PGA)
β βββ NBC 2016 Automated Setbacks & Plinth Envelopes
β βββ CPWD Delhi Schedule of Rates (DSR) Cost Estimator
β βββ Vastu Purusha Mandala 9-Zone Bioclimatic Vector
β
βββββΊ 4. Generative Blueprint Engine (CF-HSA Slicing Tree)
β βββ Vertical Cores & Wet Plumbing Shafts Locked (G to G+3)
β βββ Topological Invariants Enforced (Leaf Rule, Central Box)
β βββ L1βL14 Deterministic Validation Gate
β
βββββΊ 5. Synthesis & Vector Delivery
βββ Ultra-Crisp Interactive SVG Blueprint (Pan/Zoom/Layers)
βββ Print-Ready 174mm Vector PDF Dossier (ReportLab)
Total round-trip time: ~2.4 to 3.1 seconds. π
Letβs look at the UI in action:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β πΊοΈ BuildWise AI [ π°οΈ Satellite ] [ π 3D ]β
ββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ€
β β π SITE FEASIBILITY DOSSIER β
β [ PIN ] β ββββββββββββββββββββββββββββββββββ β
β 12.9716Β° N, 77.5946Β° E β π― Overall Suitability: 84/100 β
β β π Flood Inundation Risk: LOW (0.12)β
β β β‘ Seismic Zone: II (Z = 0.10) β
β β π° Est. Plinth Cost: βΉ 2,450 / sq.ftβ
β β ββββββββββββββββββββββββββββββββββ β
β β [ π GENERATE BLUEPRINT (G+1) ] β
ββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββ€
β β¨ Architectural Blueprint (Level G): β
β βββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββ¬βββββββββββββββββββ β
β β POOJA ROOM (NE) β LIVING & FOYER (N) β KITCHEN (SE) β β
β β 4.2 mΒ² [LEAF NODE] β 24.5 mΒ² [HUB NODE] β 11.2 mΒ² [VENT] β β
β βββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββ€
β β STAIRCASE CORE β CENTRAL SPINE β DINING ROOM β β
β β (Vertical Anchor) β (Brahmasthan Open) β 14.0 mΒ² β β
β βββββββββββββββββββββββββββΌβββββββββββββββββββββββββββΌβββββββββββββββββββ€
β β MASTER BEDROOM (SW) β ATTACHED BATH (W) β COMMON BATH β β
β β 18.5 mΒ² [PRIVATE] β 4.8 mΒ² [EXTERIOR WALL] β 3.6 mΒ² [LEAF] β β
β βββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββ΄βββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
πΈ The "Zero-Paid API" Stack: Surviving Without Google Maps
Most SaaS apps slap the Google Maps JavaScript API on their frontend and call it a day β until their monthly bill arrives with 4 zeroes at the end.
For BuildWise AI, I made a strict rule: Zero Paid APIs. Every geospatial query, satellite tile, elevation reading, and climate metric must run on open-data infrastructure.
Here is the exact provider matrix:
| Feature | The Expensive Commercial Way | The BuildWise Zero-Cost Way | Open Source / Data License |
|---|---|---|---|
| Base Vector Tiles | Mapbox GL ($$$) | OpenFreeMap (Liberty & Dark styles) | OpenMapTiles / ODbL |
| Satellite Imagery | Google Satellite ($$$) | Esri World Imagery (Maxar/USGS) | Free for Public Web Apps |
| 3D Topographic Relief | Mapbox Terrain-RGB | OpenTopoMap + AWS Terrarium DEM | CC-BY-SA 3.0 / AWS Open Data |
| Digital Elevation & Slope | Google Elevation API | Open-Meteo (Copernicus DEM 30m GLO-30) | Public Domain / CC0 |
| Historical Earthquakes | Proprietary Catastrophe APIs | USGS FDSN Earthquake Catalog | US Public Domain |
| River Floods & Discharge | Commercial Hydrology Data | Copernicus GloFAS via Open-Meteo | Copernicus Open Access |
| Multispectral Satellite | Sentinel Hub Paid Tiers | Copernicus Sentinel-2 L2A API | European Space Agency (ESA) |
Calculating Slope from Space (For Free!)
How do you calculate whether a plot is buildable or prone to landslides without sending a surveyor with a theodolite?
We query 5 points: the site centroid $(x, y)$ plus four cardinal offsets 33 meters out $(x \pm 33\text{m}, y \pm 33\text{m})$. We fetch their elevations using the Copernicus 30m Global DEM and compute the maximum slope gradient:
# app/services/external_data_service.py
def calculate_topographic_slope(elevations: List[float], offset_meters: float = 33.0) -> float:
"""
Computes the true ground gradient across cardinal samples:
Slope (%) = (Ξh_max / horizontal_distance) * 100
"""
center_elev = elevations[0]
deltas = [abs(e - center_elev) for e in elevations[1:]]
max_delta_h = max(deltas)
slope_pct = (max_delta_h / offset_meters) * 100.0
return round(slope_pct, 2)
If the slope exceeds 15%, the system immediately triggers foundation excavation multipliers and flags slope-stabilization retaining wall requirements under IS 14458.
π§ Why Pure LLMs Can't Draw Blueprints (And How CSP Fixes It)
If you ask an LLM to generate a JSON blueprint, it will happily invent coordinates where:
- The bathroom has no exterior walls, suffocating anyone who enters.
- The toilet shares a wall with the holy altar room (Pooja room).
- You have to walk through the master bedroom to reach the kitchen.
- On the 2nd floor, the upstairs bathroom sits directly above the living room ceiling fan, with zero plumbing shafts connecting to the ground. π
Architectural layout is not a language completion problem. It is a Spatial Constraint Satisfaction Problem (CSP) with strict topological graph invariants.
In BuildWise AI, we built the Core-First Hierarchical Allocation (CF-HSA) engine (app/services/floorplan/multi_floor_solver.py):
graph TD
subgraph MultiStoreySolver ["Core-First Hierarchical Allocation (CF-HSA)"]
Req[User Specs & Plot Dimensions] --> Setbacks[NBC 2016 Setback Subtraction]
Setbacks --> CoreLock[1. Anchor Phase: Lock Vertical Stair/Lift Cores at x,y]
CoreLock --> ShaftLock[2. Lock Continuous Plumbing Wet Stacks]
ShaftLock --> PlateSlice[3. Slicing-Tree Space Partitioner]
PlateSlice --> TopoFilter[4. Topological Invariant Filters]
TopoFilter --> ValGate[5. Deterministic Validation Gate L1-L14]
ValGate --> Success[Mathematical Validity Certificate Issued β
]
end
The 5 Non-Negotiable Architectural Invariants
Every single blueprint must satisfy these 5 mathematical invariants, or the plate is rejected:
1. The Leaf Rule ($\text{degree} = 1$)
In our circulation door graph, sensitive rooms (bathrooms, toilets, walk-in closets, pooja rooms) must be leaf nodes. They can only have an edge incident to a hallway or their parent room. Through-traffic is mathematically banned:
$$\text{degree}(v) = 1 \quad \forall v \in {\text{bath}, \text{wc}, \text{pooja}}$$
2. The Peripheral Service Rule
Every bathroom and kitchen must touch the building's exterior perimeter boundary:
$$\text{edge}(v) \cap \partial(\text{Envelope}) \neq \emptyset$$
No exterior wall = no natural ventilation shaft = instant code violation.
3. The Central-Box Exclusion (Brahmasthan)
Under ancient Vastu canon, the central 40% of a home (the Brahmasthan) must remain open for light, ventilation, and circulation. We codified this as a geometric bounding box:
$$C_{\text{box}} = [x_{\text{min}} + 0.30W, x_{\text{min}} + 0.70W] \times [y_{\text{min}} + 0.30D, y_{\text{min}} + 0.70D]$$
No service room centroid (bathroom, WC, kitchen) is permitted to lie within this box.
4. The Circulation Hub & Entry Axis
The main entrance must open strictly into the Living Room / Foyer. An entrance door that opens into a private bedroom or toilet fails the solver.
5. The Forbidden Adjacency Matrix
Bathrooms and sacred spaces cannot share a wall segment. We compute polygon boundary intersections:
$$\text{Wall}(\text{bath}) \cap \text{Wall}(\text{pooja}) = \emptyset$$
π’ Multi-Storey Harmony: The "Rule of Cores" (G to G+3)
Building a multi-storey house isn't just generating 3 random floorplans and stacking them. If your staircase moves 2 meters to the left on the 2nd floor, your stairs lead straight into thin air!
Our multi-floor solver locks the vertical anatomy first:
Level G+2 ββββββββββββββββββ¬ββββββββββββββββ¬βββββββββββββββββ
β Master Bedroom β STAIRCASE (Z) β Balcony β
β [Wet Stack βΌ] β [LOCKED x, y] β β
Level G+1 ββββββββββββββββββΌββββββββββββββββΌβββββββββββββββββ€
β Bedroom 2 β STAIRCASE (Z) β Study Room β
β [Wet Stack βΌ] β [LOCKED x, y] β β
Level G ββββββββββββββββββΌββββββββββββββββΌβββββββββββββββββ€
β Kitchen/Bath β STAIRCASE (Z) β Living Foyer β
β [Wet Stack β] β [LOCKED x, y] β Main Entrance β
ββββββββββββββββββ΄ββββββββββββββββ΄βββββββββββββββββ
β² β²
Plumbing Shafts Core Stays Frozen
aligned within 0.05m across all floors!
- Vertical Anchor Locking: The primary staircase core and elevator chase are computed on Ground Level and frozen at the identical $(x, y, w, d)$ coordinates across all upper levels.
- Plumbing Wet-Wall Stacking: Bathrooms on upper levels must align over ground-level sanitary shafts within a 0.05 meter tolerance. No leaky pipes through living rooms!
- Graceful Degradation Protocol: If a plot is too small to fit the user's dream wishlist (e.g., trying to cram 6 bedrooms, 4 baths, and a gym into a 60 mΒ² envelope), the solver doesn't crash. It climbs a 5-level relaxation ladder, relaxing aspect ratios first before gracefully returning an exact diagnostic shortfall: "Plot envelope short by 14.2 mΒ² for requested program."
π§ Vastu Shastra Meets Bioclimatic Optimization
In South Asian construction, up to 90% of residential clients demand compliance with Vastu Shastra (an ancient architectural canon). Many modern engineers dismiss it as superstition.
When you analyze Vastu through the lens of passive solar bioclimatic architecture, however, the brilliance emerges:
NORTH (Kubera - Wealth / Diffuse Daylight)
βββββββββββββββββββ¬ββββββββββββββββββ¬ββββββββββββββββββ
β POOJA ROOM β LIVING / ENTR β WATER STORAGE β
β NE (Ishanya) β NORTH β NW (Vayu) β
β Morning Sunlightβ Indirect Light β Cross Wind β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββ€
WEST β BEDROOM / STUDYβ BRAHMASTHAN β DINING ROOM β EAST
(Varuna) β WEST β (Open Center) β EAST β (Indra)
β Evening Breeze β Zero Load β Sunrise Light β
βββββββββββββββββββΌββββββββββββββββββΌββββββββββββββββββ€
β MASTER BEDROOM β SERVICE / ELEV β KITCHEN β
β SW (Nairutya) β SOUTH β SE (Agneya) β
β Heavy Thermal β Blocks Heat β Morning Heat/ β
β Mass (No Sun) β β Kitchen Exhaust β
βββββββββββββββββββ΄ββββββββββββββββββ΄ββββββββββββββββββ
SOUTH
- Kitchen in SE (Agneya / Fire): In the Northern Hemisphere, prevailing morning winds from the south-east push cooking heat and smoke away from the rest of the house.
- Master Bedroom in SW (Nairutya / Earth): The south-west quadrant receives the harsh, scorching afternoon sun. Using this zone for heavy wardrobe walls and master suites provides a thermal buffer for the rest of the dwelling.
- Pooja in NE (Ishanya / Water): Bathed in germicidal, soft morning ultraviolet light at sunrise.
In BuildWise AI, we codified this into a 9-Zone Purusha Mandala Matrix (app/services/vastu_service.py) that computes the exact cosine vector between the road access angle, sun azimuth, and the room placement score!
π¨ The UI: Apple Vibrancy & Native SVG Rendering
We wanted the interface to look like an Apple design award winner, not a dusty 1998 AutoCAD utility:
- React 19 + Vite + Tailwind CSS: Zero lag, lightning fast hot-module reload.
-
Glassmorphism & Vibrancy Tokens: Translucent frosted acrylic panels (
backdrop-blur-md, subtle borders, iOS-style spring animations). -
Interactive SVG Blueprint Viewer (
BlueprintViewer.tsx):- Full vector pan/zoom with mouse wheel and pinch-to-zoom.
- Interactive layer toggles: Furniture, Architectural Dimensions, Vastu Quadrants, Plumbing Shafts, Column Structural Grids, and Fire Egress Paths.
- Room hover inspection showing exact floor areas, hygiene ratings, and ventilation percentages.
-
Server-Side ReportLab PDF Pipeline:
- Forget ugly
window.print()hacks that break CSS grids. - The FastAPI backend compiles a true, print-grade 174mm vector drawing with technical title blocks, QR code site hashes, and an executive cost scorecard directly into a download-ready PDF.
- Forget ugly
π§ͺ Rigorous Testing: 236 Unit Tests & 9-Viewport Audits
A civil engineering tool cannot afford "silent fails". If a floorplan generator silently drops a bedroom or generates an overlapping room, contractors waste real concrete.
We built a bulletproof testing pipeline:
# Frontend: Oxlint + TypeScript + 9-Viewport Puppeteer DOM audit
cd frontend
npm run lint # Ultra-fast static analysis via Oxlint
npm run build # Strict tsc type verification + Vite bundle
npm run audit:ui # Puppeteer audits DOM integrity across 9 viewports
# Backend: 236 Pytest suites covering geometry, codes, and PDF rendering
cd ../backend
python -m pytest tests/
- 145-test placement regression suite: Validates that zero rooms overlap, all doors connect, and leaf invariants never break across 1,000 randomized plot aspect ratios.
-
L1βL14 Deterministic Validation Gate: Every single generated layout must pass a 14-layer inspection (
validation_gate.py) before being marked with aMathematicalValidityCertificate.
π Key Takeaways & Try It Yourself!
Building BuildWise AI proved three crucial engineering principles:
- You don't need expensive mapping APIs to build world-class geospatial tech. OpenFreeMap, OpenTopoMap, USGS, and Copernicus offer petabytes of pristine public telemetry if you take the time to wire them properly.
- LLMs should be the narrators, not the architects. Use deterministic algorithms and Constraint Satisfaction Solvers (CSP) for geometry, math, and building codes. Use LLMs for what they excel at: synthesizing executive summaries and explaining engineering trade-offs to human clients.
- Cultural constraints are just mathematical rules in disguise. Whether it's the International Building Code, the National Building Code of India, or Vastu Shastra, all architectural lore can be codified into typed models and solved with graph theory.
π Explore the Code & Contribute
BuildWise AI is 100% open-source under the MIT License.
- GitHub Repository: https://github.com/Mrtracker-new/BuildWise_AI
- Give it a Star β if you love open-source geospatial tools, civil engineering, or generative algorithms!
- Try running it locally in 2 minutes:
git clone https://github.com/Mrtracker-new/BuildWise_AI.git
cd BuildWise_AI
./run_project.bat # Or spin up backend & frontend via standard CLI
Got questions about spatial CSP, MapLibre GL styling, or Copernicus satellite queries? Drop them in the comments below β Iβll be hanging out and answering every single one! π
Top comments (0)