
I spent weeks building a "sophisticated" provider registry system for https://www.flywheeletl.io, my data pipeline platform for startups.
Sources. Connection templates. Database seeds. UUID mappings. Capability checks. Service arrays.
It felt proper. Extensible. Like something a real company would build.
Then I deleted almost all of it.
194 files changed
~5,600 lines removed
Replaced with 20 lines of config.
I was building for flexibility I'd never need.
"What if someone wants a Google Cloud connection with BigQuery but not Firestore?"
That's not a real use case. A connection is just credentials. If those credentials can't access BigQuery, the API returns 401. Done.
But I built an entire system to handle this imaginary scenario. 8+ files defining the same information in different ways. Want to add a new provider? Touch 8 files.
I told myself this was "good architecture."
Honestly? AI.
I was working with Claude on a new feature and asked it to map all the places we'd need to change. The list was absurd. All this complexity for... what?
So I asked a different question: "What if I deleted everything and replaced it with a single config file?"
20 lines. That's all I actually needed.
No users yet. No backward compatibility. No migration scripts. Just delete and move on.
Good test coverage. I wasn't guessing if things still worked. Tests told me exactly what broke and what didn't. 123 files changed, 1 bug found.
AI helped me be systematic. Claude doesn't forget to update a file in some distant corner of the codebase. It doesn't get tired after file 80.
Complexity is a choice. I built the complex system. Nobody forced me.
Sometimes the "proper" solution is a 20-line config file.
If you're early stage and carrying over-engineered code, now is the cheapest time to fix it. You have no users. No excuses.
Anyone else deleted something they spent weeks building? What made you finally pull the trigger?
I wrote a more technical breakdown with code examples on dev.to if you want the details.