I built my personal app, Felix, to solve a simple problem. When you browse as prolifically as I do, you need somewhere to stash things. Not a permanent archive, not a formal knowledge base. A medium-term holding pen where ideas wait until they’re useful, or proven not to be.
The logic is straightforward: storage is cheap, human memory is not. So I bookmark liberally. Any time I think “I might need to come back to this,” in it goes. If it turns out to be nothing, the cost is negligible. Felix processes each entry into a summary using Claude Haiku at a fraction of a cent per item, and sits quietly on my machine, queryable any time.
For months, it’s worked beautifully. The problem was everything else.
Over time I added features, fixed bugs, bolted on new ideas. The user interface absorbed all of this without complaint and gradually became unwieldy, ugly and overloaded. The kind of interface that works fine if you built it and baffles everyone else.
So I did what any self-respecting vibe coder does with less than 12 hours left on a weekly Claude quota. I stayed up.
The first step was asking Claude Code to go back through the codebase and generate a design document. Not documentation for others: a _design.md _capturing the original principles, the subsequent additions and where the front end currently sits. Getting that document out of the code and original specs rather than out of my fragmentary memory was the right call.
From there I brought in Claude Cowork, with its UX design skills loaded, to review design.md against the live app and propose improvements.
It came back quickly with a clear set of recommendations. More usefully, it generated an interactive HTML prototype of the new interface so I could click through it, test the controls and form a view before committing to any code.
I had a play. A couple of things needed adjusting, so I chatted those through. I uploaded some marked up screenshots, basically pictures with my scribbles on them. Cowork iterated. When I was satisfied, I asked it to write a complete implementation plan covering both the front end (what you see through the browser) and the back end (the Python code and the database underneath).
That plan went into Claude Code. Implement this, please. It reviewed the document, asked nothing and got on with it.
The result was a fresh new Felix. Clean, coherent and entirely usable.
It would have been living nightmare to have tried to do this by hand. Having to wrestle with nested layers of HTML and CSS and trying to deal with compatibility across different browsers is the sort of thing that drives front-end developers off the deep end.
I’m running low on superlatives for this kind of workflow. The English language has been stretched past its limits. I find myself reaching for Italian: mamma mia, bellissimo. Another midnight session, another thing that actually works a whole lot better than before.
Old Broken Felix
New Improved Felix
