Skip to main content
Almost an Architect

Almost an Architect

Mandatory codes are hard constraints — they filter. Best practices are weighted objectives — they trade off. Move a weight and the engine re-optimizes the plan, then explains why, citing the rule. The previous app is preserved at /old.

$217,497
estimated cost
COEntry64 sqftglazing 7.8%EGRESSLiving260 sqftglazing 14.0%Kitchen140 sqftglazing 7.1%Living130 sqftglazing 14.0%SHall60 sqftEGRESSSBedroom175 sqftglazing 14.0%EGRESSSBedroom130 sqftglazing 14.0%EGRESSSBedroom120 sqftglazing 14.0%Bath55 sqftglazing 7.3%Bath48 sqftglazing 6.3%40.7 ft29.0 ft

Tip: click a room, window, or door to see what governs it.

Hero room (Bedroom 1): glazing ratio 14.0% — code floor 8%, best-practice target 14% (IRC R303.1). Drag the cost and natural-light weights and watch the windows move between them.

Objective weights

0.90

Glazing above the code minimum, toward best practice

0.50

Generous ceilings and living area

0.50

Wider doorways and clearances

0.10

Lower estimated construction cost

Building codes are hard constraints — they are enforced before scoring and cannot be traded away with these sliders.

Evaluation

✓ All mandatory codes pass

Natural light1.00
Spatial proportion0.68
Accessibility1.00
Cost0.67

Weighted total 0.903 · optimal glazing 14%

Livability check

No problems
  • !Living room has light from only one direction; two-sided light reads far better. (Light on two sides of key rooms)
  • !Living room has light from only one direction; two-sided light reads far better. (Light on two sides of key rooms)
  • !Living room renders 2.9:1 in this layout — narrower than the ~1.7:1 ideal. (Habitable rooms not corridor-like)
  • !Living room renders 7.5:1 in this layout — narrower than the ~1.7:1 ideal. (Habitable rooms not corridor-like)
  • !Bedroom renders 2.2:1 in this layout — narrower than the ~1.7:1 ideal. (Habitable rooms not corridor-like)
  • !Bedroom renders 2.4:1 in this layout — narrower than the ~1.7:1 ideal. (Habitable rooms not corridor-like)
  • !A door into Entry has only 1.6 ft to swing — tight for a 3.0 ft door. (Door swings don't collide)
  • !A door into Entry has only 1.6 ft to swing — tight for a 2.7 ft door. (Door swings don't collide)
  • !A door into Hallway has only 1.9 ft to swing — tight for a 2.7 ft door. (Door swings don't collide)
  • !A door into Hallway has only 1.9 ft to swing — tight for a 2.7 ft door. (Door swings don't collide)
  • !A door into Hallway has only 1.9 ft to swing — tight for a 2.7 ft door. (Door swings don't collide)
  • !A door into Hallway has only 1.9 ft to swing — tight for a 2.5 ft door. (Door swings don't collide)
  • !A door into Hallway has only 1.9 ft to swing — tight for a 2.3 ft door. (Door swings don't collide)

Why does it look like this?

Narration is grounded in the engine's fact log — the model can cite computed values but never chooses dimensions or invents codes.