Built on Y Build Build this app yourself — prompt to deployed, on your own domain. Start free
BuildShipCompareThe LabAbout Start building →
Ship

Deploy an AI-built app to your own domain

A preview URL isn't a product. The DNS-to-HTTPS path on Cloudflare Pages, Vercel, and Netlify — and the cost trap nobody mentions.

Y Build EditorialProduct documentation team
Published Jun 9, 2026
7 min
read
cover · 1200×600

Every AI builder demo ends at a *.something.app preview URL. That’s not a product — it’s a screenshot you can click. Shipping means your domain, HTTPS, and a bill that doesn’t surprise you. Here’s the whole path, and how the three main hosts differ.

The three hosts

For an AI-built web app, you’ll almost certainly land on one of these. All three give you automatic SSL/TLS on custom domains and a near-identical setup flow.

HostBest whenDomain setup
Cloudflare PagesStatic or content-heavy sites already using Cloudflare DNSAdd the domain to the Pages project; subdomains normally use a CNAME to the pages.dev hostname
VercelApps closely tied to Vercel’s deployment workflowAdd the domain to the project, then use the exact A or CNAME record shown by Vercel
NetlifySites using Netlify’s build and domain workflowAdd the domain first, then follow the customized DNS instructions shown for that site

The DNS-to-HTTPS loop

The flow is the same everywhere:

  1. Add the domain in the host’s dashboard (it’ll show as “pending”).
  2. Point DNS at your registrar (or in Cloudflare’s DNS): a CNAME from your subdomain to the host’s target above.
  3. For the apex (example.com with no www), you can’t use a raw CNAME — use your host/DNS provider’s CNAME flattening or ALIAS/ANAME record. Cloudflare does apex flattening automatically.
  4. Wait for validation. The host verifies the record and provisions the certificate automatically — usually minutes. Confirm it resolves over HTTPS before you celebrate.

No nginx, no certbot, no propagation babysitting. The two things that trip people up: apex vs www (set up both, redirect one to the other), and forgetting that email and the app can share the same domain.

The cost check tutorials skip

Do not copy a pricing number from an old comparison and treat it as a deployment plan. Provider limits, included usage, build quotas, and paid add-ons change. Before choosing a host, write down the resources your application actually uses: builds, server functions, bandwidth, image processing, database traffic, team seats, and preview environments. Then verify each item on the provider’s current limits or pricing page.

For example, Cloudflare’s Pages documentation currently publishes build, file, custom domain, and Functions limits separately. That distinction matters: a static page request and a request handled by a Pages Function do not necessarily consume the same quota. Vercel and Netlify likewise show domain-specific DNS instructions after you attach the domain to a project. Use those project instructions rather than a hard-coded DNS target copied from an article.

Bottom line

Deployment is the step that separates a demo from a product. The mechanics are often short, but DNS propagation, ownership verification, certificate issuance, and CAA records can extend the process. Treat the provider’s current dashboard and documentation as the source of truth, choose one canonical hostname, and verify the final HTTPS URL before announcing the launch.

References

Liked this teardown?
Get the next experiment the day it drops. One email a week, raw numbers included.
Written by
Y Build Editorial Product documentation team

Maintained by the Y Build team. Technical claims are reviewed against linked primary documentation, and material limitations are stated in the article.

Author · The Lab
More from Y →

Keep reading

All of The Lab →
Build your own app
Free · no card
Start free →