I’ve been building AIUsageTracker, and I was writing myself into a corner.
The irony? I was using various AIs to help me build the application, jumping from one subscription to the next, mainly due to the cooldowns, but also due to my carelessness and thinking every AI is like the other. Spoiler: It is not.
And with all this I wasn't paying enough attention to the actual quality of the output. I was trusting AI too much and I let it make too many decisions on its own, without me cross-checking.
Then, the technical debt came due. Because I was focused on the speed of development, the codebase became a house of cards. One small change caused everything to fall apart. I've spent the last two weeks in "Refactor Mode," working with AI to refactor it to get back on track.
And I think I should have just started from scratch with a better plan from my lessons learnt. Because refactoring a code base with a lot of bad decisions and technical debt is complex - even with AI support.
Lesson learned: I always create a proper plan now. I take the critical design decisions myself and do not let AI decide. I also integrated a lot of linting and code quality checks into my stacks. And I add end-to-end tests, a lot of end-to-end tests.
How are you guys managing code quality when using AI to "build fast"?