The Code Basically Writes Itself: Using the Modern G(PT)LAMP Stack
At my last job, I built a web app called Central, and I loved it like a firstborn. It was a sleek, efficient, under-documented monstrosity that pulled customer data from disparate sources and unified it into a single, moderately coherent interface. Sales could use it to figure out why people were buying; Support could use it to figure out why they were yelling. It was beautiful, but I wouldn't call it sexy because that's a gross thing to say about software.
Then I left that job.
And with it, I left Central. Legally, ethically, and spiritually, it stayed behind. But like any good developer haunted by past glory, I started dreaming of a sequel—something similar in scope but rebranded and rewritten from scratch. Enter: Atlas.
New employer, new server, same energy.
Naturally, I couldn’t just drag-and-drop the old codebase onto a new box (something about “intellectual property” and “please don’t get us sued”), so I did the next best thing: I started rebuilding it from memory, vibes, and modern tech stacks I barely understand.

Step 1: Lay the foundation
Before we get into the good stuff—asset tracking, dashboard widgets, customizable roles, and that slick dark mode toggle that makes people think you’re a real dev—I had to build the basics. User auth. Login. Session tracking. Password hashing. You know, the plumbing.
Now, the last time I wrote PHP that touched a database, it probably looked something like this:
mysql_query("SELECT * FROM users WHERE name = '$input'");
Which, as it turns out, is the cybersecurity equivalent of taping your house key to the front door.
So I asked ChatGPT: what’s the current best practice for PHP+MySQL? And it hit me with a wall of acronyms: PDO. Prepared statements. Parameter binding. Secure password hashing using password_hash()
. I nodded, pretended I understood, and immediately followed up with:
“Right on, Rae Dawn Chong. Can you just write that code for me?”
And it did.

Step 2: Watch the AI do my job better than me
ChatGPT gave me login logic. User CRUD operations. An explanation of what CRUD operations are. Session management. Password security that didn’t involve storing plaintext secrets in a .txt file on the desktop (progress!). I guided the process, tweaked some HTML, fiddled with the Bootstrap classes, and deployed.
Was it elegant? Not really. Did it work? Hell yes.
I didn’t so much learn PDO as I did witness it happen. I watched prepared statements come to life before me, like some kind of PHP necromancer. If you asked me to write one now, I’d smile politely and quietly consult my new favorite IDE: chat.openai.com.

Step 3: Realize you’ve learned nothing
And this is the rub. With ChatGPT in the mix, productivity shoots through the roof. You go from “I need to research this” to “it’s live in prod” in the time it takes to refill your coffee.
But knowledge retention? That’s in the negative.
I couldn’t list off the syntax for a prepared statement. I couldn’t tell you why password_verify()
is better than a direct comparison. I built an app that works—and I understand what it does—but not necessarily how it works. I asked how many, not how.
And you know what? That’s kind of terrifying.
Because it means I could build another Atlas next week, sure. But only if my co-developer (ChatGPT) is still around to fill in the blanks.

So… how do you actually learn from AI?
If you’re using AI like I am—high-output, low-retention—there are a few ways to stop your brain from completely atrophying:
- Don’t just copy-paste. Type it out yourself. Muscle memory counts.
- Ask for explanations. Every time you get code, ask “Why?” until it hurts.
- Break stuff. Delete lines. Move variables. See what explodes. That’s learning.
- Document it like you’ll forget it tomorrow. (Because you will.)
In the end, ChatGPT is a phenomenal productivity tool—but it won’t turn you into a senior dev overnight. It’s a shortcut, not a substitute. And if you’re not careful, you’ll build some incredible things… that you have no idea how to maintain.
Still, when the goal is to deliver a working app before the next sprint review?
They don’t ask how.
They ask how many (dollars this will save/make the company).
