Open · self-hosted · IFC-native

The whole building lifecycle,
on one model.

Generate a building from zoning, underwrite the deal, build it, and hand it over — BIM viewer, development proforma, and a general-contracting portal on a single IFC model. The rest of the market is a patchwork of point tools. No proprietary format, no per-seat license.

The live demo runs the BIM viewer entirely in your browser (no backend) on bundled sample models — open the Model workspace and pick a sample from Open ▾.

Web · Vite + Three.js + Fragments API · FastAPI + Postgres + MinIO Geometry · IfcOpenShell Sign in · Google / Microsoft / Procore SSO Interop · Procore + ACC + QuickBooks/Sage + SQL Generative · zoning → frame + units + envelope + core Test Fit · unit-mix + parking + yield optimize AI · ask your project anything Financials · budgets + S&U + underwriting guardrails + memo Desktop · free single-project .exe Deploy · Docker Compose + /metrics

Download

Free single-project desktop app — the whole platform in one offline install (no Docker, no login). Pick your platform; each opens the latest release. Builds are currently unsigned, so Windows SmartScreen / macOS Gatekeeper may warn on first launch.

All releases & checksums: github.com/ibuilder/ModelMaker/releases. Prefer the server stack? Run it with Docker ↓

Three pillars, one model

Switch via the Model / Construction / Finance workspace bar. Everything keys off the IFC GlobalId, so geometry, issues, and records stay in sync.

🧊 BIM viewer + modeling

Streams large models offline (local WASM), with a streaming-progress loader + ETag revalidation. Model federation, tree, layers, isolate/ghost, section box, measure, set-origin. A photoreal render mode (sun + soft shadows, PBR, a date/time/location sun-&-shadow study, and a first-person walkthrough). Clash + IDS validation + BCF issues (round-trip with Solibri/ACC/BIMcollab); 2D plans/sections/elevations with room tags + element callouts + PDF sheets. In-viewer authoring — walls, slabs, columns, beams, roofs, doors/windows, move/rotate/copy — written back to IFC server-side. Generative massing from a zoning envelope; a 37-family parametric library with Revit-style material layer-set assemblies and import of external IFC families; and a Studio visual computational graph (Dynamo-style nodes you wire and run). 5D: click an element → its schedule activity + cost-code budget; colour the whole model by %-complete or cost variance; scrub the 4D timeline while the building lights up green with a live cost burn. IFC is the source of truth, with an optional paid Revit (.rvt)→IFC bridge (Autodesk APS, feature-flagged behind a cost gate).

🏗️ GC portal

73 config-driven modules (RFIs, submittals, the change-order chain, daily reports…) — role-gated workflows, relations + rollups, kanban, search, bulk actions, reusable templates, with ball-in-court and super/PM views. A first-class Schedule destination — one relational schedule behind Gantt / Line-of-Balance / CPM and the 3D 4D scrub, plus lookahead + milestone views and editable Primavera P6 (.xer) import. A first-class Budget destination — the agreed GMP broken to every cost code & bid package + General Conditions / Requirements (incl. staffing) + overhead / fee / contingency, each budget vs committed vs actual vs EAC, with buyout savings, change-orders→revised-GMP, a cash-flow S-curve and a baseline. Assembly estimating + QTO by floor & discipline, bid leveling, multi-period AIA G702/G703 pay apps + owner invoice + lien waivers, lean / Last-Planner PPC, TRIR safety, model pins, bulk site-photo + camera capture, multi-user (members → role-scoped views), an "Ask AI" assistant, and a one-click turnover package. Works on a blank project — no IFC required.

💲 Development & feasibility

Lot → building → deal → investor package, IFC-native. Generate from zoning + Test Fit (corridor unit-mix, parking solver, scheme compare, generative yield-on-cost optimize, real lot polygons). A developer cost portal — line-item hard/soft budgets, Sources & Uses, property/tax, specialty assets (on-site energy + vertical-farm revenue), and one-click investment-memo + pitch-deck PDFs. Underwriting: interest-reserve circularity, XIRR/NPV/EM, JV waterfall, debt sizing, sensitivity + Monte Carlo — with risk-adjusted specialty revenue and guardrails that flag returns outside market bands, on a sticky returns bar. The developer and GC sides are one relational number: GMP ↔ hard-cost reconciliation + one-click sync, an actuals loop (owner invoices → re-forecast IRR), construction-loan draws (equity-first, interest accrual, lender draw-request PDF), and a cross-pillar Portfolio showing each deal's GC status (on-schedule/on-budget) next to its developer returns (IRR / equity multiple).

The whole lifecycle, on one model

The market is a patchwork of point tools — feasibility in one, BIM in another, construction management in a third, none of them talking. This spans acquisition → turnover on a single IFC-keyed model, open and self-hosted, with no per-seat license.

Lifecycle coverage: one IFC model spans acquisition, feasibility, design, preconstruction, construction and turnover — where competitors each cover only one slice

From a lot to a developed building — generate it all

The IFC-native answer to TestFit / Forma feasibility. Enter a municipal zoning envelope (lot, FAR, coverage, setbacks, height limit) and the platform computes the buildable program and generates a real IFC building — optionally with a concrete structural frame (columns + beams), a per-apartment unit layout, a facade envelope (walls + windows feeding the energy model), and a service core (elevator + stair + MEP risers) — then solves a starter acquisition proforma. One click, lot → building → underwriting. Because the output is openBIM, the same model flows into the viewer, drawings, energy, takeoff, the assembly-based estimate and the deal — driven end-to-end through a full lifecycle (acquisition → turnover).

Animation: a building rises floor by floor from a zoning envelope, then the deal is underwritten Generate a building from a zoning envelope: inputs to an IFC massing model and acquisition proforma

Then furnish & equip the model from a starter IFC family library — furniture, sanitary fixtures, appliances, plants — placed as real, GUID-stable, typed IFC content (even into a freshly generated massing).

Furnish and equip a model from a starter IFC family library of furniture, sanitary, appliances and plants

Grounded in how buildings actually get financed and built

Not just geometry — the platform encodes the discipline from the literature and construction/real-estate research. Finance drives form · physics drives structure · logistics drives schedule · lean & data keep it honest.

📐 Form follows finance

After Carol Willis: rentable area is daylight-limited, so generative massing & Test Fit reward leasable depth and core efficiency — the highest rentable yield wins, not max FAR.

🏛️ Structure by scale

After Salvadori: a structural-system advisor picks flat-plate · shear-core · outrigger by height and span, with rough member sizing and a load-path read — driving the generated frame.

⏱️ The vertical assembly line

After the Empire State (a story a day): takt / line-of-balance scheduling with a just-in-time delivery plan and a 4D scrub of the build sequence in the viewer.

📊 Lean & defensible

Last-Planner PPC analytics, underwriting guardrails that flag returns outside market bands, and citable benchmarks + comparables behind the defaults.

Connect it, or run it free on one machine

Interoperate with the tools your team already uses — or take the whole platform offline as a single-project desktop app.

🔌 Interoperability

A data-source Connections framework: register Postgres/Supabase (read-only browse + a guarded SELECT console), Procore (two-way sync — import RFIs/submittals/change-events and push resolved RFI answers back, on a schedule), Autodesk Construction Cloud (project/issue read), and accounting/ERP — QuickBooks, Sage, Viewpoint (accounts/vendors/bills). An admin field-mapping editor remaps each external field → module field; secrets stay write-only.

💾 Free desktop app (.exe)

The whole platform in one process — API + UI + SQLite, no login, fully offline — packaged as a self-contained Windows .exe (a Bluebeam-style single-project app). Projects save/open as portable .mmproj bundles. A paid cloud tier (connect + private storage) is planned; the local app stays free.

Run it

The platform is a web app + services stack, run with Docker. It's an installable PWA, and ships as signed Tauri 2 desktop installers (Win/macOS/Linux) with auto-update — see Download; mobile is on the roadmap.

  1. Install Docker Desktop (Windows/macOS/Linux) and git.
  2. Clone the repo and start the stack — first build pulls the toolchain, so give it a few minutes.
  3. Open http://localhost:8080. Optionally seed a demo project.
# 1. get the code
git clone https://github.com/ibuilder/ModelMaker.git && cd ModelMaker

# 2. configure (set strong secrets + AEC_RBAC=1 for anything but local dev)
cp .env.example .env

# 3. build + run the whole stack (web, API, Postgres, MinIO)
docker compose --profile full up --build       # → web http://localhost:8080

# 4. (optional) fill a demo project across all relation chains
docker compose --profile full --profile seed run --rm seed
The web container reverse-proxies /api to the API (same-origin, no CORS), serves the viewer with the cross-origin isolation web-ifc needs, and persists Postgres / MinIO / IFC volumes. Every config knob is documented in .env.example.

Requirements

OSWindows / macOS / Linux (anything Docker runs on)
DockerDocker Desktop / Engine 24+ with Compose v2
Ports8080 (web), 8000 (API), 5432 (Postgres), 9000/9001 (MinIO)
BrowserA current Chromium/Firefox/Safari (WebGL2 + WASM)

Developer setup

Run the web viewer and API directly for hacking on the code.

# web viewer (offline; copies WASM automatically)
cd apps/web && npm install && npm run dev          # http://localhost:5173

# backend API (Python 3.11+ preferred)
cd services/api && python -m venv .venv && .venv/Scripts/activate
pip install -r requirements.txt -r requirements-dev.txt
PYTHONPATH=src uvicorn aec_api.main:app --reload    # http://localhost:8000

# run the test gate
python services/api/run_tests.py

Full docs in the repo: the README, GC portal, capability matrix, and platform roadmap.