Exiting Loveable
From Prompt-Generated Apps to Real Django Infrastructure
Loveable is powerful.
You describe an app.
It generates an app.
You deploy something working in minutes.
That phase is valuable.
But eventually, something shifts.
You’re no longer exploring an idea.
You’re building a system.
And systems need specification.
The Hidden Cost of Prompt-Generated Apps
Loveable gives you output.
What it doesn’t give you is:
- A durable architecture document
- An explicit data model strategy
- A long-term migration plan
- Operational ownership
The app exists.
But the spec rarely does.
And without a spec, you don’t control evolution.
The Kill Shot: You Have to Rebuild It
There’s no shortcut here.
If you want:
- Real control
- Real schema design
- Real background processing
- Real auth flexibility
- Real hosting ownership
You must rebuild it.
Not blindly.
Not angrily.
Intentionally.
You extract the intent.
You formalize the spec.
Then you re-implement it on a real stack.
That’s the transition from phase one to phase two.
Step One: Turn the Generated App Into a Specification
Before you touch Django, you write the spec.
Not a 100-page enterprise document.
A clear architectural contract.
Here’s what that includes:
1. Domain Model
- What are the core entities?
- What are the relationships?
- What are the invariants?
- What must always be true?
If Loveable generated tables, you reverse-engineer them.
You decide what is accidental and what is essential.
2. Authentication Model
- Who are the users?
- What roles exist?
- What permissions exist?
- How does session state work?
If auth was abstracted away, now you define it.
Explicitly.
3. Workflows
- What background jobs exist?
- What triggers what?
- What needs idempotency?
- What can fail safely?
Generated platforms hide this.
Infrastructure ownership requires it.
4. Deployment Model
- What environment variables exist?
- What secrets exist?
- What external services exist?
- What scaling assumptions exist?
If you can’t describe your deployment in text, you don’t own it.
The Discipline: Spec Before Stack
Most developers try to:
Loveable → Django immediately.
That’s wrong.
The real path is:
Loveable → Spec → Django.
Because once you have a clean spec, the rebuild becomes surgical.
Step Two: Rebuild in Django (Intentionally)
Now you open VS Code.
Now you’re in control.
You create:
- A real Django project
- Real apps
- Explicit models
- Real migrations
- Structured settings modules
- Proper environment variable handling
You wire it to:
- PostgreSQL
- Nginx
- uWSGI
- Cron or Celery
You deploy it on Opalstack.
Now your app runs persistently.
Not as a generated artifact.
As infrastructure.
The Role of AI (Used Correctly)
Here’s where modern tooling changes the game.
Rebuilding doesn’t mean “manually type everything.”
It means:
Use AI as an assistant
inside a system you own.
With VS Code + GitHub Copilot (or your model of choice), you can:
- Generate Django models from your written spec
- Refactor logic cleanly
- Generate migrations
- Write management commands
- Build test suites
- Draft permission logic
- Convert implicit flows into explicit code
The difference is:
You’re generating into a framework that has structure.
Django gives guardrails.
AI accelerates the writing.
That combination is powerful.
Why This Is Better Than Staying
When you stay fully inside a prompt-platform:
- Architecture decisions are implicit
- Database choices are fixed
- Deployment assumptions are hidden
- Scaling constraints are external
- Cost structure is abstract
When you rebuild intentionally:
- Models are explicit
- Migrations are visible
- Auth is configurable
- Background jobs are controlled
- Costs are predictable
You trade convenience for sovereignty.
At scale, sovereignty wins.
Hosting It on Opalstack
On Opalstack, your Django application:
- Runs as a real process
- Has a dedicated Unix user
- Has a real virtual environment
- Connects directly to PostgreSQL
- Serves static assets via Nginx
- Uses automatic SSL
- Deploys via Git or SSH
No abstraction layer.
No black box.
Just infrastructure.
The Psychological Transition
Loveable feels like:
“The app builds itself.”
Django on Opalstack feels like:
“I build the machine.”
With AI tooling, you don’t lose speed.
You gain clarity.
You move from:
Prompt-driven experimentation
to
Specification-driven engineering.
That’s the upgrade.
When to Make the Move
You’re ready to exit Loveable when:
- You’re maintaining real customers
- You’re adding complex business logic
- You’re writing non-trivial workflows
- You care about database structure
- You need predictable hosting cost
- You want long-term control
You’re not ready if:
- You’re still validating the idea
- You don’t want operational responsibility
- You prefer abstraction to control
There’s no moral judgment.
Just lifecycle phases.
The Bigger Pattern
Start fast.
Then own your stack.
If phase one is speed,
phase two is structure.
And structure is what lasts.
— Opalstack