Case study · Independent product
BIMPipe
A web-first tool for MEP engineers: upload an IFC model, explore it in 2D and 3D, detect fixtures automatically, place risers, and export to Revit or IFC.
- React
- TypeScript
- Three.js
- web-ifc
- Claude Code
- MCP

Context
BIMPipe is a product I design and build on my own, since 2024. It's a web-first tool for MEP engineers doing sanitary and drainage planning: drop in an architect's IFC model, explore it in 2D and 3D, let it detect every toilet and kitchen, place vertical risers, and hand a clean IFC back to Revit. It runs in the browser end to end: the model is parsed locally and never leaves the tab.
The problem
An architect's IFC holds every wall, slab and piece of furniture across many storeys, with the fixtures that matter buried among them. Risers have to sit next to those fixtures and line up vertically through every floor they span, and the result has to go back into the BIM pipeline as a file that Revit, ArchiCAD or any IFC-aware tool can open.
Complex → simple
Before A raw IFC model: everything at once, nothing to act on yet.
After Fixtures detected, risers placed, a clean export-ready view.
A stylised recreation of the BIMPipe workspace, not real model data. Blue squares are risers.

Key decisions
In the browser, end to end
No server upload, no sign-up, no queue. The IFC is parsed with web-ifc inside the tab, so a model never leaves the engineer’s machine.
Manual override always wins
Risers are suggested automatically, one per fixture, but a pin you drag yourself survives every re-suggest.
Vertical alignment by default
A riser at one point on one floor implies the same shaft on every floor it spans, and the same input always gives the same placement.
Outcome
- Live at bimpipe.com: designed, built and shipped solo, with an agentic workflow (Claude Code, MCP) from architecture to tests.
- Handles IFC models up to 500 MB and 64 storeys, parsed locally, and exports an enriched IFC that opens in Revit, ArchiCAD or any IFC-aware tool.
- TODO(anna): one or two results in your own words: who uses it, time per project before and after, or feedback from an engineer.
Stack and links
- React
- TypeScript
- Three.js
- web-ifc
- Claude Code
- MCP