I Let AI Make Every Decision for My Side Project for a Week. Here's What Broke
Had this idea sitting in my notes app for a couple months. A small habit tracker, nothing fancy, the kind of side project that exists mostly so you have something to show. I kept putting it off, partly because I knew I'd spend more time deciding things than building them. Naming variables, picking a layout, choosing which library to use. So I tried something a bit dumb. For one week, every decision on the project, AI made it. Not suggestions I'd consider. Actual decisions I'd just follow.
I wanted to see what would happen if I removed myself from the thinking part and just executed.
the rule I set for myself
Anything that needed a decision, I asked first and did exactly what came back. Database structure, naming conventions, which features to build first, how the UI should look, even small stuff like button colors. I wasn't allowed to override it unless the code literally didn't run.
Felt strange almost immediately. Day one I wanted to rename a function because the suggested name felt clunky. Didn't let myself. Kept it. Moved on.
Also set a smaller rule that I almost forgot to mention. No googling around a decision to "double check" it first, because that would've defeated the point. If I was going to find out this was a bad idea, I wanted to find out the slow way, by living with the consequences for a few days, not by catching it early and quietly correcting course like the experiment never happened.
What went fine, surprisingly
The boring stuff worked well. File structure, basic CRUD setup, initial component layout, all of that came out clean and I didn't have complaints. Probably because these are decisions with fairly established right answers, not much room for personal taste to matter.
Authentication setup too. Followed the suggested approach exactly and it worked first try, which honestly saved me the usual hour of fighting with token expiry logic I always seem to mess up on my own.
where it started breaking
Day three, things got weird. I'd asked what the core feature of the habit tracker should be, since I genuinely hadn't decided yet. Got back a suggestion for a streak system with badges and levels.
Built it. Spent most of day three on it. Felt fine at the time.
Day four I looked at it properly and realized I hated using my own app. The badges felt like clutter. The streak counter stressed me out a little every time I opened it, which is the opposite of what a habit tracker should do. I'd built something that technically worked but that I personally wouldn't want to use, because I never stopped to ask myself what I actually wanted from this thing.
That's when I understood the actual problem. AI was answering questions accurately. It just didn't know what I actually wanted, because I hadn't figured that out myself before handing over the decision. It can't read a preference that doesn't exist yet.
The UI decisions were the worst part
Color scheme, spacing, font choices, all decided without me. The result wasn't bad exactly. Just generic. It looked like a hundred other small apps. Clean, functional, completely forgettable.
I realized somewhere around day five that taste isn't really a decision you can outsource, because taste is just accumulated preference from things you've seen and reacted to over time. AI doesn't have that specific to me. It has patterns from a lot of other places. The output reflected that. Competent, impersonal.
The naming thing nobody warns you about
Small detail but it bugged me the whole week. Every variable, function, and component name came out technically correct and slightly off from how I'd naturally write it. Like reading a sentence someone else wrote in a voice close to yours but not quite yours.
By day six I was reading through my own codebase and it felt like someone else's project that I happened to be maintaining. Functional. Just not mine in some hard to define way.
The one good thing that came out of this
Day five, stuck on a database relationship that I would've normally just guessed at and fixed later. Asked, got an answer, and the explanation that came with it actually taught me something about a pattern I'd been using wrong for months without realizing.
That part I'd keep doing regardless. Asking for the reasoning, not just the answer, turned out to be more useful than the actual decision most of the time.
What I'd do differently
Wouldn't repeat the experiment exactly as I ran it. But the actual lesson stuck with me past the week.
There's a difference between decisions with a correct answer that doesn't depend on you specifically, file structure, syntax, established patterns, versus the ones where the "right" answer depends on something only you know. What you actually want from the project. What your taste is. What'll make you want to keep using the thing once it's built. I hadn't separated those two categories before this, I'd just been treating every decision the same.
I'd been treating every decision the same way before this. Now I split them. Technical and mechanical stuff, happy to hand off. Taste and direction, that stays with me, because nobody else has access to what I actually want except me, and apparently that includes AI too.
where the project ended up
Kept some of it. The auth setup stayed, the file structure stayed, a couple of the smaller utility functions stayed because they were genuinely fine.
Ripped out the streak and badges system entirely and replaced it with something simpler, just a calendar view and a note field. Took maybe two hours, which is less time than I spent building the version I didn't actually want in the first place.
If you're a developer or student curious about doing something like this yourself, I'd say try it, but watch closely for the moment you start disagreeing with a decision and following it anyway just because that was the rule. That moment is the actual data point. Everything after that is just you finding out what you already knew but hadn't said out loud yet.
1 Comments
Useful
ReplyDelete