Seven weeks to walk a generator from the factory floor into an architect's day, and find where it belonged.
A moonshot, and the tape first.
Autodesk makes the software architects and engineers draw in. In 2021 it held two new pieces. The year before, it had bought a site-planning platform that generates layout options for a plot and scores them against daylight, noise, and views. And it had invested in a factory north of San Francisco that builds apartment buildings as modules on an assembly line. The moonshot was to join them. An architect writes a brief. The factory's catalog of proven parts constrains it. A generator explores what fits between the two, down to the order the modules get built in over time. The generator in the brief was a genetic algorithm: it breeds candidates and keeps the fittest.
Tomorrow Partners took the concept work, and I joined its team as the interaction designer. The brief was a set of recordings: interviews the client had run with people on the factory floor. Nobody wanted screens drawn before we had listened to them.
So the recordings came first. I ran them through my own tools. A nuggetizer cuts a transcript into single observations. An affinitizer groups them by what they are about. I read every group against the recording and named the themes. I kept the specifics an interface needs: who decides what at each step, and what they check before they decide.
Draw today before drawing tomorrow.
The first drawings were of the present. On 12 October I sketched the factory architect's day on paper, in the order the interviews described it. Search for a parcel or upload the site layout. Look at it from above. Drag a grid across it. Click floors onto the grid. Repeat until the massing meets the goals. The goals sat beside the site as three sliders, cost, sustainability, and constructability, with a button to add another. A second pass on 3 November tightened the panes.
DWG · PDF
①Search a parcel, or upload the site layout the architect of record drew.
②Look at it from above, with the streets and the neighbours in place.
③Drag a grid across it. Every cell is one module's footprint.
④Click a cell and scroll to add floors, a module at a time.
⑤Repeat until the massing meets the goals, then hand it to the factory's rules.
GoalsCost, sustainability, and constructability sat beside the site, with room for one more.
By 12 November the sketch had become a six-panel storyboard. Each panel was a wireframe of the same three-pane workspace: a catalog on the left, the model in the middle, goals and generated options on the right. The story stayed the architect's own job as it is today, with the generator drawn in at the three places it could fit. Working from the architect of record's drawings, the architect defines the site and the goals. Then comes a massing model inside the factory's rules, filled with standard modules. Two bathroom blocks go in one unit, and a two-bedroom module is auto-filled through the rest. Then the custom parts fail the program's occupancy requirement, and the fix is a small one the factory would recognize. An optimization proposes narrowing the kitchen sink in every module by a few inches. In the scenario, the building gains twenty units.
With the storyboard up, we could argue about where a generator enters the day rather than whether it should. The massing step, the auto-fill, and the list of optimizations were the three places where the client's technology could do work an architect would recognize as their own.
DWG · PDFLayersPlumbingoffElectricityoffEnvelopeonSite layouton
01The job: stand between clients who want flexible, customizable buildings and a production line built for repetition.
DWG · PDFLayersPlumbingoffElectricityoffEnvelopeonSite layouton
02Define. With the architect of record, set the site, its boundaries, and the goals: cost, sustainability, constructability.
03Apply. Build the massing inside the factory's rules: standard parts, default rules from past builds, alternatives generated for the envelope.
04Customize. Swap units for predefined modules, floor by floor. Two bathroom blocks in one unit; a two-bedroom module auto-filled through the rest.
05Optimize. The custom parts fail the occupancy program. One proposal narrows the kitchen sink in every module; in the scenario, twenty more units.
06Share. Tell the architect the program can be met more than one way, and show the client what building to the guidelines saved.
The last stage feeds the first.
We wrote the future state together as a user story map in Mural, and then I drew it. It moved the protagonist. In the present, the factory's architect adapts an outside firm's drawings by hand. In the future, the outside architect works inside the factory's catalog from the first day, and the factory's people join the same model when it is their turn. Five stages, six roles with user stories, and the last stage feeds the first.
In the library, the architect translates a developer's brief. The site is in Oakland. The program is affordable housing for formerly homeless households, with a livability standard to meet. The catalog offers massing systems and layouts that met similar goals before, each with its trade-offs shown, more daylight against a larger envelope. The architect approves some to be favored in generation and writes rules the generator must obey, such as circulation stairs at the corners. Where the catalog cannot meet an intent, a process engineer is called in to price a custom part.
In design, the architect sets the site's boundaries and extents. The developer and the architect agree to let the system generate widely across the competing goals, density against daylight. Neither settles the trade-off up front. In explore, the outcomes arrive at site, building, and module scale. Votes teach the search, locks keep candidates safe, and a push for more daylight comes back with options and the price each pays in ventilation, views, and waste. The system says what drove a result: the building's orientation and the share of glazing on the east face. The path of decisions is saved as a timeline the architect walks through with the developer.
In analyze, the factory's people come in: the structural engineer, the production manager, the procurement manager, and the digital fabrication specialist. They review the simulations, the production sequence, and the bill of materials. A window is back-ordered. A substitute with slightly different dimensions is approved. The change runs through framing, bill of materials, and the robotic and structural simulations, then back up to the cost and sustainability predictions. In the library again, the factory's process engineer reviews the new window with its measured cost and time and approves it into the catalog. The next project starts from a better library.
That last step is the loop the moonshot was about. The model carries the construction sequence over time, its fourth dimension, so what the factory learns building one project is what the generator knows on the next.
Ten screens keep the architect steering.
Two rounds of wireframes carried the scenarios into screens. The first round was the six-panel storyboard of 12 November, drawn as a workspace of its own. The second, finished on 23 November, followed the new protagonists through the five stages. It was an overview and nine stage screens, ten in all, and it moved inside the frame of the platform Autodesk had acquired.
The question in every stage was who is steering. So every stage put a hand on the machine, and each control does one specific thing to the search.
| The control | Stage | What it does to the search |
|---|---|---|
| Approve a layout from the catalog | 0 | Favored when candidates are bred |
| Write a rule, such as stairs at the corners | 0 | Obeyed on every candidate, every generation |
| Weight a goal | 0 to 2 | Shifts what fitness rewards |
| Vote an outcome up or down | 2 | Narrows the search toward what was liked; outliers fall away |
| Lock an outcome | 2 | Survives the next generation untouched |
| Push a goal further | 2 | Returns options with the trade-off each one paid |
| Escalate to a process engineer | 0 | A person prices what the catalog cannot do |
| Approve a substitute part | 3 | The change cascades through every dependency |
| Approve a part into the catalog | 4 | Searchable and generatable on the next project |
When a change came from the factory side, the screens showed the cascade instead of hiding it. A substituted window walks through the framing layout, the bill of materials, the robotic simulation, and the structural simulation. Then it walks back up to the cost and sustainability predictions the architect and the developer had agreed on. Everyone affected is notified, and the approvals move on.
| Group | Brand | Material | Attributes | Qty | EPD |
|---|---|---|---|---|---|
| AD01 | All Weather Architectural | 5000 Series · back-ordered | 30″ × 71″ RO | 24 ea | Fixed picture window |
| AD01 | All Weather Architectural | 5200 Series · substitute | 30″ × 72″ RO | 24 ea | Fixed picture window |
- Framing layoutregenerated · 2 studs moved per paneldone
- Bill of materials2 lines changed · 24 instancesdone
- Robotic simulationcell plan B · +40 s a paneldone
- Structural simulationheader span unchangedpassed
- Cost prediction+$1,240 on the project · within targetreview
- Sustainabilityembodied carbon +0.4%within target
- Constructabilityno changepassed
- Structural engineerapproved
- Production managerapproved
- Procurement managerproposed
- Design teampending
The moonshot became a roadmap question.
On 2 December the concept went to Autodesk as a deck. It held the five stages, the interface overview, the user stories, and all three rounds of drawing in the appendix. What the project team took from it, Autodesk's people included, was a placement rather than a feature list. The stages belonged inside the site-planning platform Autodesk had bought the year before. They would be new spaces in an application architects already opened, not a new tool beside it.
The concept had walked the generator from the factory floor into the architect's day, and that day already happened inside the platform.
Approved to merge. Measured on this project: $312 a unit, 14 minutes to install, a framing change of two studs. Reuse: multifamily, three to five floors.
Changed BoM for window_frame_619view detail
Added product id to window_frame_619 detailview detail
Merging window_frame_619 into multifamily component library
What the concept left behind.
- A concept in the factory's own words. The stages, the scenarios, and the screens gave Autodesk a picture of generative design for modular housing grounded in what the factory's people had said. The trade-offs and the approvals were drawn in rather than assumed away.
- A place to build it. The team's reading that the stages belonged inside the acquired platform turned a moonshot into a roadmap question for a product that already existed.
- The tools got a real project. The coding pass was a working test of the nuggetizer and the affinitizer. Those tools grew into Sonder, the synthesis pipeline I have benchmarked against expert coding since. Agreement went from 48% to 72% over thirteen fidelity cycles.
Colophon · The factory and the acquired platform are described rather than named, and nobody interviewed is named. The scenarios are the concept's own, set on a real site in Oakland; their people and numbers are placeholders. Screens are redrawn from the wireframes and the sketches from the paper originals, so nothing is a screenshot. The header and the rendered models are drawn in WebGL on the page, a real genetic algorithm over a simulated site; where WebGL is unavailable they draw in plain canvas.