Why I wanted to migrate
When Lovable made TanStack Start the default for new projects, I wanted my existing site on the same foundation. carolmonroe.com has 48 routes, a Supabase backend, Framer Motion animations, and a time-aware hero that changes by hour. I wanted real SSR for same-day indexing, dynamic OG tags per blog post, and server-side data fetching.
The good news: Lovable now ships automatic pre-rendering for existing projects, which covers the basic SEO needs. But I was curious about the full migration path - and I wanted to document it for the community.
The timeline
What worked
The local conversion part is solid. Claude Code handles the structural work well:
- Route conversion from React Router to TanStack Start file-based routing
- Import replacement across all files
- SSR-safe context hooks (auth, theme, language, time)
- Server functions with createServerFn for data fetching
- The project compiles and builds successfully
The knowledge I gained about SSR patterns, anti-patterns, and what breaks during migration is all real and documented in the open source repo.
Where it gets stuck
The gap is between "it builds locally" and "it deploys on Lovable's modern stack." Lovable Modern runs on Cloudflare Workers, and the SSR runtime has constraints that a converted Classic codebase doesn't meet cleanly:
- h3 module resolution at runtime
- Worker bundle packaging
- Tailwind v3 to v4 differences in the SSR pipeline
New projects created directly on Lovable Modern don't have these issues because they start with the right configuration from the beginning.
What's next
The most realistic path forward is probably creating a new project from scratch on Lovable Modern and migrating the content and data over. Start clean with the right stack, the right Tailwind version, the right bundler config - and bring the design, components, and Supabase data into that clean foundation.
I'm still learning about the best way to do this - how much of the design carries over, what the right order of operations is, and how to minimize the rebuild. It's a different approach than converting a codebase, but it might be the smarter one.
The exciting part is that the platform is in a great place right now. With Discoverability (SSR, pre-rendering, Semrush, SEO review), both new and existing projects have real paths to being found on Google and AI search. My existing SPA already benefits from automatic pre-rendering while I figure out the best way to rebuild on Modern.
If you've done something similar
I'd love to hear from people who have:
- Rebuilt an existing project on Lovable Modern instead of converting it
- Found a workflow for carrying design and components into a new TanStack Start project
- Successfully migrated a Classic project to Modern (any approach)
The patterns and anti-patterns from this attempt are in the open source repo. Even though the deployment path didn't work, the knowledge about what breaks and why is useful for anyone thinking about this.
Reach out on LinkedIn or open an issue on GitHub.