Two weeks ago, an AI built me a working expense tracker in about 4 minutes, and I felt very clever about it.
I share mess bills with other students here in Dhaka, and I wanted a small Python program to track them: add an expense, list everything, show the monthly total.
So I ran an experiment on myself. Same project, built twice. Once by the AI, once by me from a blank file. This is what each round actually taught me.
Round 1: how fast is "done"?
I described what I wanted in plain words. The AI asked nothing, thought for a few seconds, and handed me a complete program: menus, a function for adding, a function for listing, a monthly total, even tidy formatting I would never have bothered with.
I ran it. I typed in a week of mess expenses. The totals came out right.
Done in one evening, with time left for tea. That was the feeling. Remember it, because it does not survive the next section.
Then I tried to explain it back
The next night, I opened the code and went through it line by line, out loud, like a teacher. If I could not explain a line in my own words, I marked it.
Here is one of the lines that stopped me:
total = sum(float(v) for v in day.values())
That line adds up one day's spending, converting each amount to a number as it goes. I can say that now. That night, I stared at it for a full minute and produced something like "it... sums the day."
By the end of my list, I could explain about 65% of the program I was calling mine. The rest was fog: how the data was nested, why amounts were stored one way and read another, a sorting trick I had never seen. The program worked. I was just a passenger in it.
Round 2: the blank file
Same spec. Empty file. No AI open, no old code on screen. I set a timer because I wanted the truth, not a story.
The truth: 2 hours 40 minutes, spread over two evenings.
I got stuck properly twice. First, saving: I stored expenses in a text file, and my own format kept breaking because a curry name had a comma in it, which split one expense into two. Second, the monthly total: grouping expenses by month sounds simple until your dates are stored as messy text like "3 Nov" and the program cannot tell November from nonsense.
My version ended up shorter and uglier. It also had zero parts I could not explain, because every line in it exists for a reason I personally suffered through.
The scoreboard
| AI version | My version | |
|---|---|---|
| Time | ~4 minutes of prompting | 2 hours 40 minutes |
| Lines of code | 96 | 71 |
| I could explain | About 65% | 100%, slowly |
| First thing that broke | Crashed when I typed "200 tk" instead of 200 | Two expenses on the same day overwrote each other |
That last row matters. The AI version broke because it never asked what a tired human would actually type. My version broke because my storage idea was too simple. Both programs were broken. Only one of the breakages taught me anything.
Which one do I actually use now?
Mine. The uglier one, with the hand-rolled storage and the totals that arrive a moment slower.
Not out of pride. Practical reasons. Twice since the experiment, I have changed it: once to add a category for rickshaw fares, once to fix how it rounds. Both times I opened the file, knew exactly where to go, and was done in minutes. The AI version sits in a folder I named, in a weak moment, "v1-not-mine". Accurate folder. I have not opened it since.
That is the difference the scoreboard cannot show. Version one was a product. Version two is a tool I can maintain, extend, and, most importantly for a student, imitate. Last week I wrote a small marks calculator for a classmate, from memory, in one sitting. No blank-file fear at all. The blank file is only scary until you have survived it once.
Would the AI version have given me that afternoon? I do not think so. It would have given me a second folder with a polite name and the same quiet fog inside.
The part that actually scared me
Here is the honest part. The scare was not "AI is better than me." On this small project, its code genuinely was cleaner.
The scare is how close I came to keeping version one and writing the project off as finished learning. If I had, I would have owned a working program and learned almost nothing. The tracker would track my mess bills beautifully, and the first time it broke, I would have been helpless in front of my own project.
My version is worse software. I am not going to pretend otherwise. But when my same-day bug appeared, I fixed it in about ten minutes, because I knew exactly where my own thinking lived.
One question before you go
Think about the last project an AI helped you build. Not whether it runs. Whether you could sit with a blank file tonight and produce it again, alone.
Could you rebuild yours from a blank file?
Top comments (0)