First, find out what you actually have
Every AI-built project is one of three things. Look at the files, or ask the builder.
- Static files. HTML, CSS, JavaScript and images, either as written or produced by a build step (
npm run buildwriting adist/folder, for example). Any static host can serve these. - A Node.js app. A server that has to keep running: server-side rendering, API routes, server functions. You will see a
startscript inpackage.jsonthat launches a server. - Files plus someone else's backend. Either of the above, calling a database, sign-in or storage service run by the builder. Moving the files does not move that backend.
The four options
Step 1: The builder's own hosting
Least work, and the backend keeps working because nothing moves. Custom domains usually need a paid plan: Lovable's and Bolt's docs both say so. Veloxa Build hosts every site with HTTPS on veloxa.site, on every plan. Custom domains for Veloxa Build sites are coming soon (1 on Starter and 5 on Pro). Until then a published site lives at an address like yourname.veloxa.site, with HTTPS.
Step 2: Static hosting
For static files. On VeloxaHost, a Static site serves your files from a web root over HTTPS on your own domain, and sends unknown paths to
index.htmlso single-page apps route correctly. Deploy by pointing it at a public Git repository that holds the built files.Step 3: Node.js hosting
For apps that run a server. A VeloxaHost Node.js site runs your app on Node 22 behind HTTPS, starts it with
npm starton port 3000, and redeploys from Git on demand, on a schedule or from a CI webhook. It does not run a build for you; aprestartscript can. See Node.js hosting.Step 4: A VPS
For full control: private repositories over SSH, any runtime version, your own database next to the app, your own build. VeloxaHost servers start at $4/month. You also take on updates and security.
How to decide
Four rules of thumb.
- You want your domain with the least effort and the builder includes it on your plan: stay on the builder's hosting.
- You have static files and want your domain without paying for a builder plan: static hosting.
- The project has a server (`@tanstack/react-start`, Next.js, Express and the like): Node.js hosting, or a VPS if you need a different Node version or private repositories.
- The app depends on the builder's database or sign-in: leave that backend where it is if the builder supports that, or budget for rebuilding it. Moving the front end is the easy half.
What breaks when a site moves
Most failed moves are one of these.
- Routes that 404 on refresh. A single-page app needs every path to return
index.html. Lovable's docs call this out for React and Vite apps; VeloxaHost Static sites do it by default. - Settings baked into the build. Lovable notes that
VITE_variables are embedded at build time. Build with the right values, and rebuild when one changes. - Sign-in redirects. Sign-in providers only send people back to addresses they know. Add the new domain.
- Builder-only features. A downloaded Veloxa Build project keeps its pages, styles and scripts, but Forms and their inbox work only on veloxa.site, and sign-in, file storage, the database and AI features call Veloxa Build's services rather than anything in the zip, so test them on the new host and plan to replace them if you leave.
- Two sites answering one domain. Delete the old A and CNAME records when you add the new ones.
Where VeloxaHost fits
VeloxaHost runs all four: Veloxa Build for building and hosting on veloxa.site, Static and Node.js hosting for code from any builder, and servers when you need root. They share one account and one bill, so a site can start in the builder and move to hosting or a server later without a new provider. Guides for specific moves: a Lovable app on your own domain and exporting a Bolt project.