Here is a question that sounds simple until you've actually shipped a UI: how many files does it take before nobody on the team, including you, can confidently say what happens when you click a button?

For me, the answer turned out to be somewhere around two hundred. Not because the logic was complicated. Because nothing in those two hundred files agreed with anything else about how a button should be built.

This is the story of how I got there, what it cost me, and the engine I eventually built to make sure it wouldn't happen to me again. LuciaCore is a prototype, not a finished framework, but it already does the one thing I set out to make it do: let me describe a working, interactive web page as data, instead of assembling it by hand every time.

Where I came from

My background is systems programming: operating systems, networking, CPU scheduling, architecture, API performance. That's the layer where I'm comfortable, because the problems there tend to be well-defined. You can usually name the bottleneck, measure it, and know whether your fix actually worked.