Building a Concept Model: The Bathroom
These days I've been building a project for constructing concept models, or lightweight ontologies, and running all sorts of tests on it. It has finally reached the point where it minimally works, so I'm trying it out by building a concept model of a bathroom!
Before we get into the bathroom itself, let me briefly explain Mangsang. I started this project because I couldn't stand what kept happening in planning and development: people lose sight of the big picture that was drawn at the start, fix only the local problem in front of them, and little by little the thing drifts off course and gets messy. So I thought, "Why not just record where every plan and every piece of code connects to the big picture, and force anyone who changes anything to check which part of the big picture they're touching?"
For example, say a planner decided early on that "the product page must show every product at a glance, without scrolling," and together with a developer settled on "thumbnails are a x b, and on mobile one page shows six products." Some time later, a new planner who doesn't know this context comes along and says, "Let's make the thumbnails aaaa x bbbb so the products stand out!!!" A new developer sees this and goes, "Six per page, so after enlarging the thumbnails I'll make it scrollable... oh, and there's no back-to-top button? Better build that too." And bit by bit the page loses its original intent. Haven't we all been through something like this somewhere? Building Mangsang means trying to create a way of managing documents and code that keeps this from running on with no brakes.
For such a method to work, the concepts of whatever you're managing have to be extracted and connected well first. So at the entry point of Mangsang there's a workflow that reads code and planning documents and quickly builds a concept model, or repairs the model when someone points out where it falls short. Saying I'll build a concept model of a bathroom basically means: "I'll describe a bathroom, and you (Codex, Claude, or whoever is behind them) listen and write a document that organizes and connects the concepts in the format Mangsang defines. How to extract concepts and relate them is written up in Mangsang's documentation."
That was a long prologue. So why test Mangsang with a bathroom, of all things? To explain, I first need to tell you about the bathroom in the studio apartment I live in now.
At a glance you might think it's just an ordinary small bathroom. In fact, when I first saw it, I didn't think anything was wrong either. Not until I took a shower. A bathroom usually has a towel bar, and you hang your towel on it. But if the shower holder is on the exact opposite side from the towel bar, won't the towel get wet the moment you turn on the shower? (I didn't want to find out either...)
Looking at this, I kept wondering how on earth a design like this came about, and what was wrong with the architect that made me go looking for a towel outside the bathroom, dripping water, after taking a shower. I concluded that this person clearly didn't have a proper concept model of a bathroom.
Then, thinking a little more, it occurred to me that building a concept model of a bathroom might be harder than I thought. Try it yourself: without looking at a picture of a bathroom, describe one in writing. For example, this is the draft I wrote for this test.
Let me start describing a bathroom.
- A bathroom has a sink. You can wash your hands, wash your face and brush your teeth there.
- To wash your face you need facial soap, so there has to be a place to put soap. It could be liquid or a bar. Same for washing hands. After washing you need to dry off, so there has to be a towel, and a towel bar to hang it on.
- To brush your teeth you need toothpaste and a toothbrush, and maybe a cup. Each needs a place to go.
- Water has to come out at the sink, so there has to be a faucet. You should be able to adjust the water temperature. Water has to drain, so a pipe has to connect to the bottom of the sink, and you might want to fill the basin, so there should be a way to stop the water.
- You have to be able to use the toilet in a bathroom. There has to be a toilet, and toilet paper. There has to be a toilet paper holder to hang it on. There has to be a tool to unclog the toilet when it's blocked.
- It should also be possible to shower in the bathroom. There has to be a pipe connected to the shower, and like the sink's tap, the temperature has to be adjustable.
- Water has to drain where the shower is, so there has to be an area on the floor connected to a drain.
- After a shower the room fills with moisture, so there has to be a window to the outside, or a vent.
- There has to be light, so there has to be a lamp.
- You have to be able to get in and out, so there has to be a door.
And from this I got the following concept model.
With only the concept model, you can't tell whether it's a proper bathroom, so I asked GPT to read the model and generate an image.
Just looking at the image, it's pretty convincing! To pick out a few things it's missing:
- There's no mirror. There should have been one at least in front of the sink. This happened because I never mentioned the concept of a mirror.
- There's no cabinet for toilet paper and towels either. Also because I didn't mention it.
- There are no outlets. There are cases where you can do without them, but it seems better to have a couple of covered ones near the toilet, to be safe.
- The door sits right on the floor. If even a little water overflows, it will run out of the bathroom.
When actually using Mangsang, you would just ask it to fill in the points above.
But... is that really the end? The image above seemed a little too clean, so I opened a new session and asked, "Make the weirdest possible bathroom that still meets every condition, and render it as a 3D image." Here's what came out.
A true masterpiece.
- The bathroom is vast.
- It's a bathroom, but the door and walls are transparent glass. There's no way to lock the door either.
- The sink faces the wrong way.
- The shower's temperature control is stuck to the floor.
- The towel bar is right under where the water comes out of the shower.
- All the supplies you need at the sink and toilet are in the hardest places to reach.
- The light isn't on the ceiling; it's standing next to the toilet.
It's impressive that it found every one of those conditions and drew them. And there's quite a valuable lesson in it:
- A bathroom can't be just a list of simple elements. It also has to be described how far apart the elements should be, at what height, and facing which direction. We should be grateful the sink in that image isn't stuck into the floor vertically.
- Of course we also have to talk about the floor, the ceiling and the walls, and about what they're made of.
- We also have to describe what must not happen. For example, towels or toilet paper must not be where the water comes out! For other supplies too, unless there's a reason to keep them within reach of the water, it may be better to avoid it.
Maybe the things around us are made of more concepts and relations than we realize.





