Skip to content

Work

21 projects

The Thoughts

  1. explaining thingsJUL 2026How do you explain a complex, honestly boring technical subject so someone leans in instead of glazing over?
  2. adjacency is not accessJUN 2026A floor plan tells you which rooms touch. It will not tell you which rooms you can actually reach, and the gap between those two drawings is where the architecture is hiding.
  3. buildings that respondJUN 2026Right now a building is a fixed guess. Someone chose the ceiling height and the window size years before you arrived, and you live inside their averaged assumptions whether they fit you or not.
  4. experiences are dataMAY 2026You learned what a room does to you by being in rooms. Nobody sat you down with a dataset.
  5. comfort as dataMAY 2026You don't walk into a room and average your experience. You walk in and the thing that's wrong is the thing you notice: the glare, the echo, the cold draft on the back of your neck.
  6. when the tool scores peopleAPR 2026I build things that give a room a score. The obvious next question, and the one I would ask me, is what happens the day somebody uses that score to decide who gets the room.
  7. latent spaceAPR 2026Machine learning borrowed the word space from us, and I would like to check what it did with it.
  8. drawing as interfaceMAR 2026For most of my life the drawing was the output. You designed the thing, then you drew it to prove it existed.
  9. behavior information modelingJAN 2026For thirty years we've been getting very good at Building Information Modeling: every beam, every duct, every clash, tracked to the millimeter.
  10. heritage meets new techDEC 2025The usual choice with an old building is a trap: treat it as a museum piece no one may touch, or drop a glass-and-steel box in the middle and call it modern.
  11. neuroaestheticsDEC 2025Neuroaesthetics is the unglamorous name for a question everyone already feels: why does one room settle you and another keep you on edge?
  12. evolutionary searchNOV 2025Evolutionary search is what I reach for when a problem is too tangled to solve head on: describe what good looks like, then let a population of designs breed, mutate, and compete until something clever falls out.
  13. physics solversNOV 2025A physics solver is the most honest collaborator I have: it doesn't care what I intended, only what I actually built.
  14. computationOCT 2025Computation is not the same as using a computer, and separating the two took me longer than I would like to admit.
  15. what an llm actually isSEP 2025A large language model is a machine that guesses the next word. That is not me being kind to you, that is the whole thing.
  16. generative aiDEC 2023Generative AI made the inspired gesture free. Anyone can produce a thousand renders before lunch, and a render is a promise, not a product.
  17. extended realitySEP 2022I started in a lab strapping headsets onto students to see whether a lesson lands harder when you can walk around inside it.
  18. connecting the dotsJUN 2020When the art class was asked who here dislikes drawing, mine was the only hand that went up. Awkward.

NeuroSpace

Can you visualize the parameters that affect how a room makes you feel? 

TYPEComputation & ResearchTEAMMACAD · SOLOSTACKGRASSHOPPER · RHINO.COMPUTE · VUE 3 · THREE.JSLINKSTRY IT LIVE, ALMOST · NO 3D (opens in new tab)GITHUB (opens in new tab)BLOG (opens in new tab)
1 / 7

WHAT

You are sitting in a room right now, and its defaults are quietly working on you: the ceiling height nudging your cortisol, the daylight setting your circadian clock. NeuroSpace makes that invisible layer legible: move a slider and the room rebuilds while a score answers back, live. I built it on my own: a Grasshopper definition doing the heavy geometry on the server through Rhino.Compute, Three.js drawing the room in the browser, and a scoring pass that estimates the behavioral effect the moment you let go. It is built to be played with, not read.

WHY

This is the thesis I keep circling: BIM, reframed from Building Information Modeling to Behavior Information Modeling. The information that matters is not just what a building is made of; it is what the building is doing to the person inside it.

HOW

  1. Describe the room as parameters, not geometry: ceiling height, wall count and curvature, openings, organic form, plants. Every one is a slider.
  2. Send the parameters to a Grasshopper definition on the server; Rhino.Compute evaluates it and streams the heavy geometry back, so the browser never has to model anything itself.
  3. Draw the returned room with Three.js. Geometry is the slow path; it only recomputes when the shape actually changes.
  4. Score the behavior on the fast path, in the browser, the instant a slider settles: a transparent weighted sum over the dimensions the research cares about. No server round trip, so the number answers as fast as you can drag.

WHAT CAME OF IT

It shipped live: the app runs in the browser today, and the weights it scores with sit in the public repo, which means you can read them and argue with them. The score stays a heuristic, not an instrument. It estimates; it never measures your body, and it shows every assumption on the way to the number so you are free to overrule it. When Dr. Cleo Valentine saw it, her note set the frame I kept: treat every score as a hypothesis, then watch how it translates.