The AI Enablement Brief · Jun 15, 2026
Rebuilding MediaPlan in Claude Code
I moved my whole app off a turnkey platform and rebuilt it from the ground up. The thing that finally made it possible wasn't a better prompt.
Last weekend, I did something I’d been putting off for a month.
I moved MediaPlan off Base44 completely, and rebuilt the entire app from the ground up inside Claude Code.
If you’ve never done a migration like this, it’s hard to describe how daunting it feels.
You’re going from a turnkey service, where the platform quietly handles everything, to a blank slate where you own all of it. Authentication. Storage. Hosting. The plumbing you never had to think about is suddenly your problem.
I did it anyway. And as of this week, the new version of MediaPlan is live.
Here’s how it went, and the one thing that finally made it possible.
Why I Left a Platform That Worked
Let me be fair to Base44, because it earned it.
Base44 is a great place to start. If you have an idea and you want to get something real in front of users to test demand, it’s hard to beat. It handles the hard parts so you can move fast and find out whether the thing is even worth building.
MediaPlan passed that test. People used it. The demand was there.
But once you’re past validation, the calculus changes. The same turnkey convenience that made starting easy starts to feel like a ceiling. I wanted more control over how the app worked, and more room to scale it without fighting the platform. Base44 wins on speed to start. Claude Code wins on flexibility and scalability. Once I knew MediaPlan was worth investing in, that trade was easy to call.
Knowing the right move and being able to execute it, though, are two different things.
The Wall
I’d actually tried this migration once before, over a month ago. And I hit a wall.
I just couldn’t replicate the same experience inside Claude Code. No matter how carefully I prompted it, no matter which model I used, I kept ending up with something close but not right. A feature would be missing. The backend logic wouldn’t quite match. The UX would drift.
So I shelved it. Sometimes the wall isn’t your effort. It’s that the tool isn’t ready yet.
The Unlock: One Goal, Not a Hundred Prompts
What changed was a feature, not my skill.
Anthropic released the /goal command, and it reframed the whole problem.
Instead of micromanaging the rebuild prompt by prompt, I could hand Claude Code the destination and let it find the path.
So that’s what I did. I downloaded the source code from Base44, uploaded it into Claude Code, and gave it one clear goal: replicate the entire UX, the functionality, and the backend logic, with some added context to fill the gaps.
Then I left it running overnight.
By morning, I had a working version of my app inside Claude Code. Almost all of it, on the first real pass. After a month of hitting that wall, that was the moment it clicked.
This is the shift I keep coming back to in this newsletter. The value isn’t in writing the perfect instruction anymore. It’s in defining the right goal and giving the agent enough context to reach it. I’ve written about this as the move from prompting to building, and this migration is the clearest proof of it I’ve lived through. The engine got good enough that my job changed from operator to director.
From Working to Ready
A goal-driven overnight build gets you to “working.” It doesn’t get you to “ready.”
I spent the next week inside the app: editing it, improving it, breaking it on purpose to see what would hold. That part is still human. The agent gave me a running start that would have taken weeks on my own, but the judgment about what good looks like, what to cut, what to polish, stayed mine.
And this week, I soft launched the new version of MediaPlan into the wild.
What This Means If You’re Considering the Same Move
A few things I’d pass along, if you’re sitting on a turnkey platform wondering whether to make the jump.
Start where it’s easy. A no-code or turnkey platform is the right place to validate demand. Don’t over-engineer before you know people want the thing.
Make the move when flexibility becomes the bottleneck, not before. The migration costs you something. Only pay it once the platform’s ceiling is the thing holding you back.
And when you do, don’t prompt the rebuild. Set a goal. Give the agent your source, a clear definition of done, and the context it needs, then let it run. The migration that was impossible for me a month ago took a single overnight session once I framed it that way.
The barrier to rebuilding wasn’t infrastructure, or even skill. It was having the right way to point the tool at the problem.
I’ll share more about the new features in the coming days.
