I was excited because it looks really good. I looked into the backend code and it's vibe coded with Claude. All the terrible exception handling patterns, all the useless comments and psychopancy is left there. I can't trust this codebase. :(
You're absolutely right and I appreciate the honest feedback.
Yes, a lot of this was AI-assisted coding (Claude/Cursor), and I didn't clean up all the patterns. The exception handling is inconsistent, there are useless comments, and the code quality varies.
I'm the first to admit the codebase needs a lot of work. I was learning and experimenting, and it shows.
If you (or anyone) wants to improve it, I'd welcome PRs! The architecture/approach might be useful even if the implementation is rough.
Thanks for looking at the code and giving honest feedback - this is exactly the kind of thing I needed to hear.
I think clean code is more important than ever. LLMs can work better with good code (no surprise), and they are trained on so much shit code they produce garbage in terms of clean code.
They also don't have a good taste or deeper architectural understanding if big codebasis where it's even more important.
What you learned over the years, you can just scale up with agents.
The huge advantage of SQLite is not that it's on the same machine, but it's that is it in process which makes deployment and everything else just simpler.
I think it depends on the domain. For example, GPT-5 is better for frontend, React code, but struggles with niche things like Nix. Claude's UI designs are not as pretty as GPT-5's.
This is also pretty subjective. I’m a power user of both and tend to prefer Claude’s UI about 70-80% of the time.
I often would use Claude to do a “make it pretty” pass after implementation with GPT-5. I find Claude’s spatial and visual understanding when dealing with frontend to be better.
I am sure others will have the exact opposite experience.
My experience is exactly opposite. Claude excelling in ui, and react. While gpt5 being better on really niche stuff, migth just be me better at caching when gpt5 halucinates as opposed to the claude4 hallucinations.
But after openai started gatekeeping all their new decent models in the api, i will happily refuse to buy more credits, and rather use foss models from other providers (I wish claude had proper no log policies).
What I did recently when developing a TUI was that I put the state in a dict, start the app in an infinite loop and whenever it quit, reload module, keep the state and instantiate the class with that state again. Something like this:
import tui
state = {"current_step_index": 0, "variables": None}
while True:
app = tui.App(state)
tui.run()
state = app.get_state()
importlib.reload(tui)
I personally use "claude -p" for this