Graduating from app builders to pro tools
When Lovable or Bolt starts fighting you, it's time. How to move a project to Cursor or Claude Code without losing your work — or your momentum.
8 min read · Last verified
App builders like Lovable and Bolt are wonderful right up until they aren't. This guide is about recognizing that moment and making the move to professional tools — Cursor, Claude Code, and friends — without losing your project or your nerve.
First, to be clear: graduation is optional. Plenty of excellent builders ship everything from app builders, and the platforms keep raising their ceilings. Move because you're feeling real friction, not because someone on the internet said real builders use terminals.
The signs it's time
- The fix-break loop. You ask for a change, it breaks something else, the fix breaks a third thing. The project has outgrown what the builder's AI can hold in its head at once.
- "I can't do that" walls. You want a feature, integration, or technical choice the platform doesn't support, and you're designing around the tool instead of the product.
- You've started reading the code. You catch yourself wanting to just edit the thing directly instead of writing a paragraph asking for a one-line change. Big sign.
- Cost or lock-in worries. Credits are adding up, or it's dawned on you that your app lives entirely inside someone else's product.
- You care about the how. You want git history, code review, tests — process the sandbox hides from you.
None of these yet? Great — close this tab and keep shipping.
What you're moving to
Realistically one of two setups (the platform guide has the full landscape):
- An AI-first editor (Cursor, Windsurf): you see the code in a real editor; the AI chats and edits alongside you. The gentler landing — visual, discoverable, familiar-ish if you've seen any editor.
- A coding agent (Claude Code, Codex): you keep working conversationally — describe, review, react — but against your own local folder with no sandbox limits. If what you loved about the app builder was the chat, this preserves it.
Many people run both: agent for big strokes, editor for looking around and small touches. Not either/or.
The migration itself
- Export your code. Lovable, Bolt, and Replit can all sync or export the project to GitHub (or a zip download). Do that — the code was always yours; now it's with you.
- Get it running locally. Clone the repo, open your new tool, and use the oldest trick in vibe coding: ask. "This is a project exported from Lovable. Help me install what it needs and run it on my machine." Expect some back-and-forth — this step is where the mess lives (missing environment variables are the usual culprit — the secret keys the app builder was quietly managing for you).
- Re-point your services. If the project used the builder's built-in database or hosting, you'll set up your own (commonly Supabase for database and auth, Vercel or Netlify for hosting — Shipping for real covers both). Your agent can drive the setup; you'll create the accounts.
- Commit immediately, then keep committing. You're outside the sandbox now: nothing snapshots your work unless you do. If git is fuzzy, read the git guide first — it's short, and this exact migration is when you'll be glad you did.
- Make one small change end-to-end — edit, commit, push, watch it auto-deploy. Once that loop works, you have everything the app builder gave you, minus the walls.
What changes in how it feels
The honest trade: you now own problems the sandbox used to absorb — environment setup, deploys, the occasional cryptic tooling error. In exchange, the ceiling disappears: any feature, any integration, any architecture, full history, and an AI that can see your entire project at once instead of a sandboxed slice of it.
Most people who make the jump report the same arc: two or three frustrating days, then a month later they can't imagine going back. Budget for the days; enjoy the month. And when the newly-unchained project ships something big, the gallery is waiting.