All research

Small to Big

Essay13 min read
  • architecture
  • spatial-contracts
  • aec
  • software

Why BIM cannot compose: moving the built environment from locked CAD files to executable spatial contracts.

Constructivist paper-and-plaster physical model of architectural spatial block contracts composing from a small fastener up to a city massing grid
Video overview1:18
All Videos

The built environment is the last major industry without a compositional substrate. Software has packages. Electronics has component libraries with SPICE models. Chemistry has SMILES. Mechanical engineering has GD&T and standard parts. Architecture has drawings of things, and a filing system for the drawings. That is the whole stack.

This is why design does not scale. Not because architects lack talent or computers lack power, but because there is no unit of design that composes. Every project starts from a blank sheet, or from the last project copied and painted over. Knowledge lives in the heads of the people who made it and evaporates when they leave. A practice of four hundred people is not four hundred times better than a practice of four. It is four hundred people each starting from a blank sheet, coordinated by meetings.

A Block is the unit that fixes this. A Block is a spatial contract: a named thing that declares its own identity, the constraints it must satisfy, and the interfaces through which it connects to other things. A staircase Block knows what floor-to-floor heights it can bridge, what going and rise are legal in which jurisdiction, what headroom it demands from whatever sits above it, what structural support it needs at each landing, and what it refuses to do. It does not know what it looks like. Geometry is an output.

That distinction is the whole argument. BIM stores geometry annotated with data. A Block stores logic that produces geometry. One is a file. The other is a function.


§1 — The smallest thing that can be right

Start at the bottom, with a screw.

A screw Block is almost trivially small. Thread spec, head type, drive type, material, tensile rating, corrosion class, the substrate thicknesses it is rated for, the pilot hole it requires, the torque window it tolerates. Perhaps two dozen fields. Any competent engineer could write it in an afternoon. Most of it already exists as a PDF on a manufacturer's website.

Now compose upward. A bracket Block declares that it needs four fasteners rated to a given shear load, into a substrate of a given class. It does not name a screw. It states a requirement. When the bracket and a screw are composed, the system checks whether the screw satisfies the bracket's interface. If it does not, the composition fails before anyone draws anything.

A shelf Block needs brackets at a maximum spacing derived from its span and load. A bay Block needs shelves at a pitch derived from the height of the tallest product it must hold. A run Block needs bays that sum to a wall length, with a tolerance at each end. A zone Block needs runs with circulation between them, at a width derived from footfall and from the accessibility code that applies. A store Block needs zones in an order derived from a merchandising strategy.

Nine steps from a screw to a store. Each step is a small, testable, independently authored contract. No step requires anyone to hold the whole building in their head. That is the entire trick, and it is the same trick that made software scale: a bounded interface at every level, so that composition is local reasoning rather than global reasoning.

The thing the industry has been waiting for is not a bigger model. It is a smaller unit.

Axonometric cutaway diagram showing nine hierarchical steps of spatial composition from fastener to store
Figure 1: Nine steps of composition from a single screw contract up to a store layout. Every level maintains a bounded interface, enabling local reasoning.

§2 — What the giants actually sell

Autodesk sells file formats. That is the product. Revit is a moat made of .rvt, a format that is opaque, version-locked, and legally defended. The design intelligence of the last thirty years of practice is stored inside it, and it cannot be extracted, queried, recombined, or reasoned over by anything except Revit. The business model is not "we make design better." It is "we hold the file."

The consequences are visible everywhere. A family in Revit is dumb geometry with parameters attached. It does not know whether it is legal. It does not know what it needs from its neighbours. It cannot refuse an invalid placement. Validity is discovered downstream, by a human, in a clash detection run, three weeks later, at cost. Every AEC firm on earth employs people whose job is to find errors that a type system would have caught at the moment of authorship.

IFC was supposed to be the escape hatch. It became a committee schema: a vocabulary for describing what was drawn, with no capacity to reason about what should be drawn. It is a noun list. Design needs verbs.

The current generation of AI-for-AEC tools inherits all of this. They bolt optimisation onto the existing stack: generate a hundred massing options, score them, present the top five. This works at exactly one scale and does not compose upward or downward. It cannot, because the layer beneath it is still geometry with metadata. A model that has only ever seen pictures of buildings will produce pictures of buildings. It will not produce buildings.

Patent drawing style comparison of locked binary BIM file versus open spatial contract function
Figure 2: Files vs. Functions. Legacy BIM stores geometry annotated with metadata; spatial contracts store executable logic that produces verified geometry.

§3 — The underdog's actual advantage

The small practice has one structural advantage over the incumbent, and it is decisive: it does not have to protect a format.

When the unit of design is a text contract rather than a binary file, the economics invert. A contract can be written in a text editor. It can be version-controlled in Git. It can be published, forked, reviewed, and starred. It can be tested in continuous integration. It can be read by a language model, which means it can be authored by one too. None of this requires a seat license.

We have watched this pattern run before, in adjacent industries, every time.

Blender against Maya and 3ds Max. In 2010 Blender was a joke in professional pipelines. Today it is in the credits of feature films and the pipelines of game studios, because a free tool with an open format accumulated an addon ecosystem faster than a closed tool with a sales team could ship features.

Figma against Adobe. Adobe owned design software absolutely. Figma won by making the document a live, addressable, multiplayer object instead of a file you email. The format was the strategy. Adobe's response was to try to buy it for twenty billion dollars.

Git against Perforce and ClearCase. Enterprise version control was expensive, centralised, and required an administrator. Git was free, distributed, and initially harder to use. It won because it made the unit of change small and composable, which let a global population of strangers collaborate on the same artefact without coordination.

npm, PyPI, crates.io. No central authority decided what packages should exist. Manufacturers of software components published their own contracts, and the registry grew from the edges inward. Today no serious software is written from scratch.

OpenStreetMap against the mapping duopoly. A volunteer project with a permissive schema now underpins logistics, humanitarian response, and a substantial share of commercial routing, in precisely the geographies the incumbents deprioritised.

Every one of these was won by the same move. Make the atomic unit small, legible, and freely publishable. The incumbent cannot copy this without destroying the asset it is defending.


§4 — Where the leverage is largest

The world is building roughly two billion square metres of floor area a year, and the overwhelming majority of it is being built where there is no Revit license, no BIM manager, and no clash detection run. It is being built by contractors working from a hand-marked plan, by developers who have done the same three typologies eleven times, by municipal bodies approving drawings against a code nobody has read end to end.

This is not a market that is waiting for better software. It is a market that has been structurally excluded from software, because the software was priced, trained, and scoped for the top two percent of projects by value.

A Block library changes the unit of access. A small practice in Coimbatore that has designed forty schools does not need a platform. It needs its forty schools converted into thirty Block contracts and eight Strategies, after which the forty-first school takes a week rather than four months, and the forty-second is designed by someone who has never seen the first forty. The knowledge stops being tacit. It becomes an artefact that can be handed over, sold, licensed, audited, and improved.

Then it compounds. Because the contracts are text, the local code authority can publish its requirements as a constraint module rather than a PDF. Because they are text, a fastener manufacturer in Rajkot can publish its catalogue as Blocks and have its products specified automatically by any design that needs them, which is a distribution channel it could never buy. Because they are text, a language model can compose them, which means the person prompting the design does not need to know how to draw.

The ecosystem grows from the edges. That is the only way ecosystems have ever grown.


§5 — The evidence from retail

None of this is speculative, because we have already run it at scale in one domain.

Retail store design is architecture with the ambiguity removed. The constraints are explicit, the objectives are measurable, the feedback loop is weeks rather than decades, and the same design problem recurs thousands of times with parametric variation. It is the ideal proving ground.

Our store generation system is in production across roughly three thousand stores. It composes layouts from a library of fixture and zone contracts: a wall bay that knows its width, its fixture compatibility, and its product density rules. A checkout zone that knows its queue depth and adjacency requirements. A category block that knows its adjacency affinities and its sightline demands. The composition engine validates before a human sees anything. The merchandising engine populates against a scoring rubric, and every score traces back to the specific contract and the specific strategy decision that produced it.

That last property matters more than anything else in the system. When a layout scores badly on flow, the output is not a red number. It is a statement that this bay in this zone, placed under this strategy, caused it. This is the compiler error message for design quality, and it converts evaluation from a report into an instrument.

Three thousand stores is not architecture's hardest problem. It is the proof that the substrate holds. The contracts written for a wall bay run are structurally the same kind of object as the contracts needed for a staircase, a classroom, a ward, or a platform. Different domain, identical mechanics.

Isometric layout of a retail store with evaluation flow vectors and scoring traceback feedback loops
Figure 3: Evaluation feedback loops in retail layout generation. Scoring failures trace directly back to the spatial contract and strategy decision that caused them.

§6 — Evaluation is the engine

The conventional arrangement puts generation first and evaluation second. Produce options, then judge them. This is backwards and it is why generative design has produced so little of consequence in twenty years.

Invert it. Evaluation is the driver. Generation is what falls out of evaluation pressure applied iteratively.

A design brief is a set of affordances the finished space must deliver, across eight layers: physiological, spatial and proxemic, perceptual and cognitive, social and behavioural, affective, temporal, cultural and symbolic, metabolic and infrastructural. A temple produces awe through volume and light. A waiting room produces calm through sightline control and defensible personal space. A store produces margin through the sequence in which it reveals itself. These are not decorative concerns. They are the actual requirements, and they have been discussed rigorously for a century by Hall, Alexander, Gehl, Gibson, Pallasmaa, without ever being made computable.

Blocks declare which affordances they can support. Strategies encode how to trade them against each other. Simulations score whether the composed result delivers them. The scores propagate back to the contracts that caused them, and the system recomposes. The loop runs until the design satisfies the brief or until it reports honestly that the brief is internally contradictory, which is itself a more useful output than most projects currently receive.

This is the synthetic design paradigm. Not a model that draws plausible buildings. A system that reasons about spatial contracts under evaluation pressure and emits geometry as a byproduct, with a complete audit trail of why every element is where it is.

Exploded study model showing eight vertical layers of spatial affordance under evaluation pressure
Figure 4: The eight-layer spatial affordance stack. Evaluation pressure drives iteration until spatial contracts satisfy the brief.

§7 — The cold start, and how it ends

The obvious objection is the library. A type system with no types is a manifesto.

The answer is ingestion. Manufacturer documentation already contains the contracts, expressed in prose and tables and dimensioned drawings. A fastener datasheet is a Block contract with the formalism stripped out. A fixture catalogue is a Block library in PDF form. Building codes are constraint modules in legal prose. Vision-language models are now good enough to convert these at volume, and the conversion improves monotonically.

So the library bootstraps from documents nobody had to write for us, in a domain where the documents are free, exhaustive, and maintained by parties with a commercial interest in accuracy.

After that it is the registry pattern. Contracts get published by the people closest to the thing being contracted. Manufacturers publish products. Jurisdictions publish codes. Practices publish typologies. Universities publish research. Each publisher improves the commons in the process of serving itself, which is the only incentive structure that has ever produced a durable ecosystem.

The incumbents cannot run this play. Their revenue depends on the library being inside the file, and the file being inside the seat, and the seat being inside the contract. To open the substrate is to dissolve the moat. They will keep shipping AI features on top of dumb geometry, and each feature will be impressive in a demo and structurally incapable of composing with the one beside it.

We start at the screw. We are already at the store. The path to the building, the campus, and the city is the same path, with the same mechanics, run further.

The unit is small. That is why it goes big.