How to export and host your AI website

Move a Uvilno project to a static host with its assets intact. Understand source unlocks, export formats, connected services, domains, and launch testing.

By Uvilno · 7 min read · Updated

Written by the Uvilno team. Examples illustrate the workflow; service availability and third-party requirements should be checked before launch.

Read as Markdown

Choose and unlock the version you intend to ship

Before downloading, remove test copy from public marketing pages and inspect links that were convenient during development. A mail destination, booking URL, or canonical hostname can remain a temporary value long after the design is finished. Record these release details in a small checklist so you can repeat the same review when publishing the next archive instead of relying on memory.

Export begins with a release decision. Open the saved version you want to publish, review its pages, and finish its important interactions. An owner-only recoverable draft can be useful for inspecting an interrupted build, but it is not the same as a completed verified version. Write down which saved result you are taking outside the builder. That small record prevents confusion when an older archive is accidentally deployed after a later revision.

Uvilno keeps generated project source private until unlock. A one-time $4.99 unlock stays with that project; Plus includes two new project unlocks per paid month, while Pro and Ultra include unlimited project unlocks during the paid period. Repeated downloads of an already unlocked project are separate from generation usage. Unlocking releases source access. It does not buy a domain, provision arbitrary backend infrastructure, or deploy the files to an external hosting account.

Understand the files you are downloading

The usual Uvilno project is a static HTML, CSS, and JavaScript frontend. Exported archives include the referenced uploaded media and bundled font assets for the selected version, together with applicable font licenses. Keep the included deployment instructions. A source archive and a compiled static output can be different deliverables for imported framework projects. Do not assume that a directory of framework source is ready to upload without a build.

Next.js supports a static-export configuration, but static output has constraints: features that depend on a running request-time server need another deployment design. That is a property of the chosen output, not something a polished preview can erase. Inspect the actual archive and its instructions rather than selecting a host from the framework name alone. Existing static projects do not need a Next.js server merely because Uvilno itself is built with Next.js.

Scroll sideways for all columns.

Match the deliverable to the deployment
What you haveWhat to doWhat to check
Ready static filesPublish the complete output directoryThe entry HTML is at the host root.
Framework sourceFollow its build instructionsPublish the generated output, not a random source folder.
Hosted service connectionsRetain and configure those dependenciesRegister the deployed origin where required.
External media URLsReview availability and rightsA remote image is still a dependency.

Preserve paths, assets, and licenses

Extract the entire archive into a clean folder. Keep HTML, stylesheets, scripts, images, fonts, and supporting files in the same relative arrangement. If a page refers to assets/courtyard.webp, moving that image to a different folder breaks the reference. Hosting platforms may treat filename capitalization differently from your computer, so Courtyard.webp and courtyard.webp should not be assumed interchangeable. Avoid renaming files casually during a manual upload.

Review externally loaded media, scripts, and fonts. An exported site may still depend on a third-party URL or hosted app service, even when the main files are portable. Keep license files and required attributions with the release record. Owning the generated source does not give you rights to photographs or trademarks you supplied without permission. If portability matters, ask for owned or properly licensed assets and verify their presence in the downloaded package.

  • Extract all files into one clean release folder.
  • Preserve spelling, capitalization, and folder relationships.
  • Keep font licenses and image attribution requirements.
  • Record external scripts, media, and hosted-service dependencies.

Choose a host that serves your actual output

For ready static output, choose a host that serves HTML, CSS, JavaScript, and assets over HTTPS. Compare its upload workflow, custom-domain support, redirect rules, deployment history, and usage limits. A simple business site may be easiest to publish with a manual folder upload. A project you expect to maintain in code may benefit from a repository-connected deployment. Hosting charges and account limits belong to that provider, independently of your Uvilno plan.

Follow the host's current instructions for prebuilt output. Cloudflare Pages documents direct upload, and Netlify documents several deployment workflows. Upload the contents of the correct output directory so the entry page sits at the published root. An extra parent directory can leave the homepage missing even when every file uploaded successfully. Start with the provider's temporary HTTPS address; finish the asset and route checks there before making DNS changes for your public domain.

Reconnect the services that do not live in the archive

Browser-local state, such as a calculator's preferences or a local task list, stays on a particular browser and origin. It does not automatically migrate from the preview to your new domain. Managed app authentication, personal records, and other enabled Uvilno services remain hosted services. They are not copied into a private database by downloading the frontend. Decide whether those dependencies match your long-term maintenance needs before treating the export as a fully independent application.

For managed app sign-in on an external host, register the deployed origin through the supported service configuration. A preview origin working is not evidence that an unrelated domain is authorized. Test with a fresh visitor session: sign in, create a record, reload, read it again, sign out, and confirm private content is no longer available. Keep secret credentials on a trusted server or service; never paste them into the exported HTML or JavaScript to make a failed connection appear to work.

Test routes and interactions on the deployed URL

Open every page directly from its public URL, then navigate between pages. A route that works only after clicking from the homepage may rely on a rewrite that your host has not configured. Test trailing slashes and refresh on a nested route. Look at the actual content and HTTP result, not just whether something appears on screen: a platform error page may also have a heading and a polished layout. Use the host's supported redirects or route rules for the chosen output.

When an image or font is missing, inspect the browser's Network panel for a failed request and compare its URL with the uploaded path. When a button fails, check whether it depends on a hosted service, a blocked popup, or an incorrect destination. Test email, booking, and payment links with the intended account or test environment. A successful file upload does not establish that a form delivered a message or that a payment created a verified receipt.

Scroll sideways for all columns.

Common deployment problems
SymptomLikely areaNext check
Homepage returns 404Wrong output rootLocate index.html in the published directory.
Images disappearAsset path or capitalizationCompare the failed request with the uploaded filename.
Nested route fails on refreshStatic routing configurationReview the host's route and trailing-slash rules.
Login works only in previewAuthorized originRegister and test the deployed origin.

Keep a release record and an update path

Save the archive, version date, host project, public URL, and any service configuration notes together. Avoid including secret keys in this record. If you later edit the website in Uvilno, create a new export and deploy that release through your chosen workflow. Changes in the builder do not automatically replace files on an external host. Test the updated release before redirecting visitors to it, especially when the change touches routes or connected services.

Use the host's previous deployment or your retained archive as a rollback option. Keep a separate backup of important application data because rolling back frontend files does not necessarily roll back hosted records. If you use GitHub, inspect the repository changes before synchronizing and retain a known-good commit. A modest release log makes future hosting moves, handoffs to a developer, and recovery from a broken upload much easier than trying to reconstruct what was published from memory.

Common questions

Does a source unlock include managed hosting?

The unlock releases project source. External hosting, domains, and any required service configuration are separate. Uvilno sharing and an external production deployment are different workflows.

Can the exported frontend keep using managed services?

Supported managed services remain hosted dependencies. Configure the deployed origin where required and test authentication, records, and other connected behavior from the actual public URL.

Will future builder edits update my host automatically?

A manual deployment needs a new export and upload. Repository workflows depend on your configured synchronization and hosting pipeline; verify each release rather than assuming automatic publishing.

Prepare your own brief

Adapt this starting point to your project. You can name the project and review the text before you explicitly send a build.

Name your project and review the brief. Building starts when you send it.

Check the architecture. Compare the tradeoffs.

Follow the data model, account boundary and source handoff before choosing a builder.