Carol Monroe
← Field Notes

Lovable Stacks: Classic vs Modern, What Actually Happens (I Tested It)

May 28, 2026 · 4 min · Guide 201 views

The question everyone asks

"Can I switch my project from TanStack to classic Vite?" or "if I remix a project, does it change the stack?"

Instead of guessing, I tested it. Five experiments, real projects, real results.


The two stacks

Lovable currently has two architectures:

Classic Modern
Framework Vite + React SPA TanStack Start (SSR)
Routing react-router-dom @tanstack/react-router (file-based)
Entry point index.html + main.tsx __root.tsx (server-rendered)
Key files src/pages/, src/main.tsx src/routes/, src/router.tsx, src/server.ts
SEO Needs prerendering Built-in via SSR
Deploy Any static host Needs server runtime

What I tested

Test 1: Ask a TanStack project to switch to Vite

Created a project with the modern stack, then prompted: "switch this project to classic Vite + React, remove TanStack completely."

Result: The AI refused. The environment is fixed to TanStack Start and changing it would break the build, dev server, and preview system.

Test 2: Same thing, but more insistent

Tried again with: "I need you to use the classic version of Lovable."

Result: Same refusal. No option to change stacks from inside a project.

Test 3: New project, modern stack, but prompt says "use classic"

Created a brand new project with tech_stack "modern" but the initial prompt said "use the classic Vite + React stack, not TanStack Start."

Result: Still TanStack. The prompt cannot override the tech_stack parameter.

Test 4: Remix a Classic project

Remixed a project that was on the classic Vite + React stack.

Result: The remix is also Classic. Files confirm it: src/pages/Index.tsx, src/main.tsx, vite.config.ts. No TanStack anywhere.

Test 5: Remix a TanStack project

Remixed a project on the modern TanStack Start stack.

Result: The remix is also TanStack. Files confirm it: src/routes/index.tsx, src/router.tsx, src/routeTree.gen.ts, src/server.ts.


The rules

After five tests:

  1. The stack is locked at project creation
  2. Prompts cannot change the stack, not even on a new project
  3. The AI will refuse to swap frameworks mid-project
  4. Remix preserves the original stack, always
  5. The only way to get a specific stack is to set it when you create the project

How to create a project with the right stack

If you use the Lovable MCP (from Claude Code), specify it explicitly:

``` create_project( workspace_id: "your-workspace-id", tech_stack: "classic", initial_message: "build me a landing page..." ) ```

For modern/TanStack:

``` create_project( workspace_id: "your-workspace-id", tech_stack: "modern", initial_message: "build me a landing page..." ) ```

From the Lovable UI, look for the stack selection when starting a new project.


How to tell which stack you are on

Check your project files:

Classic (Vite + React):

  • src/pages/ folder
  • src/main.tsx
  • index.html at root

Modern (TanStack Start):

  • src/routes/ folder
  • src/router.tsx
  • src/routeTree.gen.ts
  • src/server.ts

If you are stuck on the wrong stack

You cannot convert mid-project. Your options:

  1. Create a new project with the stack you want
  2. Connect your current project to GitHub first
  3. Use that repo as reference to rebuild in the new project

It takes some work, but it is the only reliable path.

lovable · vite · tanstack

XLinkedIn

Reader margin

What stayed with you?

0 notes

Leave one small mark in the margin.

Notes from readers

The margin is open. You can leave the first note.

Stuck with something like this? I fix it daily → Services

© 2026 Carol Monroe · Services delivered through Moonshot Labs LLCPrivacy · Terms · RSS · X · LinkedIn ·
Carol Monroe · visitor ledgerThe logbook

Leave a little note before you go.

Notes left hereopen since 2026

The page is ready for its first note.

Your page280 characters

Glad you found your way here.

Tell me what brought you in, what stayed with you, or simply say hello.

0/280 · your note will be public