Cognitive Debt: Or, How I Forgot Why My Code Works

Let’s be honest: I’ve been “vibe coding” for a while now. You know the drill—smash out a solution, copy-paste a Stack Overflow snippet, maybe ask ChatGPT to sprinkle some Markdown magic on my blog post, and call it a day. But recently, I stumbled across an article that finally put a name to the weird, nagging feeling I’ve had for ages: Cognitive Debt.
What Even Is Cognitive Debt?
“Cognitive Debt is where you forgo the thinking in order just to get the answers, but have no real idea of why the answers are what they are.”
— Artefacts Newsletter 247
Translation: you get the answer, but your brain is basically on airplane mode. You can ship code, write essays, and even pass interviews, but ask yourself why something works, and you’re left staring into the existential void.
Turns out, this isn’t just me being dramatic. The folks at MIT Media Lab actually studied this in Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task. Spoiler: using AI assistants is great for productivity, but it’s like eating only instant noodles—quick, easy, but not exactly nourishing for your brain. The more you rely on AI for writing and critical thinking, the more your own skills start to atrophy. Oops.
How Much Cognitive Debt Am I In?
Short answer: probably a lot. I’ve been racking up cognitive debt for everything from “how do I center a div” to “why does this distributed system not explode.” It’s easy to justify—deadlines, context switching, or just plain laziness. But now that I know there’s a name for it, I can’t unsee it.
So, How Do I Pay It Back?
Here’s the irony: my first instinct was to ask ChatGPT how to pay back cognitive debt. But that feels like asking a credit card company how to get out of debt. So, I’m going to do something wild: actually think about it, and document my process here.
My Not-So-Scientific Plan
- Notice the Debt:
Catch myself when I’m about to autopilot through a problem. Pause. Ask “do I actually get this?” - Write It Down:
Blog about what I’m learning, what I’m unlearning, and all the dumb mistakes in between. - Struggle On Purpose:
Try to solve stuff on my own before running to AI for help. (Yes, this will be painful.) - Revisit Old Solutions:
Go back to code I wrote months ago and see if I can explain it to my past self without crying. - Use AI as a Tool, Not a Crutch:
Let AI help me brainstorm or double-check, but not do the heavy lifting for me.
Baby Steps
For example, I usually write a blog post and then ask ChatGPT 4.1 to convert it to Markdown. Doesn’t sound like much, but these little dependencies add up. Time to start weaning myself off—one blog post at a time.
I’ll be documenting this whole experiment here. If you’re also drowning in cognitive debt, or just want to see if I crash and burn, stick around. Maybe we’ll figure it out together.
Date: 20-06-2025
Did what I know best—rolled up my sleeves and started debugging. I spent the last week building a new Flutter starter template. I’d made one before, but it got so cluttered and impossible to work with that starting from scratch just made more sense. (If you want the full story, read the blog post here.)
This time, I didn’t just “vibe code” the whole thing. I used Claude to help sketch out the folder and file structure, and leaned on it a bit for setting up CI/CD workflows and git hooks.
And for something a little unconventional: I used npm (actually pnpm, because I like the way it works better, but don't tell anyone) to help run and set up the project. Honestly, it made things way easier.