<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alex Y</title>
    <description>The latest articles on DEV Community by Alex Y (@alex_ybuild).</description>
    <link>https://dev.to/alex_ybuild</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4022040%2Fec0e439e-af4d-4006-9f80-7d91cd4154b6.png</url>
      <title>DEV Community: Alex Y</title>
      <link>https://dev.to/alex_ybuild</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alex_ybuild"/>
    <language>en</language>
    <item>
      <title>Shipping an AI-built app to your own domain: the DNS-to-HTTPS path (and the cost trap nobody warns you about)</title>
      <dc:creator>Alex Y</dc:creator>
      <pubDate>Thu, 09 Jul 2026 02:54:59 +0000</pubDate>
      <link>https://dev.to/alex_ybuild/shipping-an-ai-built-app-to-your-own-domain-the-dns-to-https-path-and-the-cost-trap-nobody-warns-4i80</link>
      <guid>https://dev.to/alex_ybuild/shipping-an-ai-built-app-to-your-own-domain-the-dns-to-https-path-and-the-cost-trap-nobody-warns-4i80</guid>
      <description>&lt;p&gt;An AI tool can turn a prompt into a working app in minutes. The part nobody shows you in the demo is the last mile: getting that app off a &lt;code&gt;*.vercel.app&lt;/code&gt; preview URL and onto &lt;code&gt;yourdomain.com&lt;/code&gt; with a padlock next to it.&lt;/p&gt;

&lt;p&gt;That last mile is DNS and hosting. It's not hard, but it has two or three traps that eat an afternoon — and one that quietly eats money every month. Here's the whole path, start to finish.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: The two DNS records you actually need
&lt;/h2&gt;

&lt;p&gt;Every custom-domain setup comes down to two questions: what happens when someone types &lt;code&gt;yourdomain.com&lt;/code&gt;, and what happens when they type &lt;code&gt;www.yourdomain.com&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The apex (root) domain&lt;/strong&gt; — &lt;code&gt;yourdomain.com&lt;/code&gt; with nothing in front. DNS rules say the apex normally needs an &lt;strong&gt;A record&lt;/strong&gt; (pointing at an IP), which is fragile because IPs change. Better hosts support &lt;strong&gt;ALIAS / ANAME&lt;/strong&gt; or &lt;strong&gt;CNAME flattening&lt;/strong&gt;, which let the apex behave like a CNAME. On Cloudflare, flattening is automatic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The &lt;code&gt;www&lt;/code&gt; subdomain&lt;/strong&gt; — easy: a &lt;strong&gt;CNAME&lt;/strong&gt; pointing at your host's target (e.g. &lt;code&gt;cname.vercel-dns.com&lt;/code&gt;, &lt;code&gt;your-site.netlify.app&lt;/code&gt;, or &lt;code&gt;your-project.pages.dev&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then pick one as canonical and redirect the other. "www to apex" or "apex to www" — either is fine, but &lt;strong&gt;pick one&lt;/strong&gt; or you'll split your SEO and confuse analytics.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The most common mistake: adding only the &lt;code&gt;www&lt;/code&gt; record, then wondering why &lt;code&gt;yourdomain.com&lt;/code&gt; shows a blank page. You need both, plus a redirect.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Step 2: HTTPS — why the padlock doesn't show up
&lt;/h2&gt;

&lt;p&gt;All three major hosts issue free certificates (via Let's Encrypt) and auto-renew them. You don't buy an SSL cert in 2026. But provisioning silently fails in two situations, and the error messages are useless:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;DNS hasn't propagated yet.&lt;/strong&gt; The cert can't be issued until the host can verify the domain points at them — a minute to a few hours. If HTTPS "isn't working," wait, then re-check. Don't start changing things.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You put Cloudflare's proxy in front of another host.&lt;/strong&gt; If your domain is on Cloudflare (orange cloud = proxied) &lt;em&gt;and&lt;/em&gt; you deploy to Vercel or Netlify, you can get SSL handshake errors or infinite redirect loops — two systems both trying to terminate TLS. Fix: set that DNS record to &lt;strong&gt;DNS-only (grey cloud)&lt;/strong&gt;, or set Cloudflare's SSL mode to &lt;strong&gt;Full (strict)&lt;/strong&gt;. Never leave it on "Flexible" — that's the redirect loop.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Deploying to &lt;strong&gt;Cloudflare Pages&lt;/strong&gt; while your domain is already on Cloudflare? None of this applies — it wires itself up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: The cost trap nobody mentions
&lt;/h2&gt;

&lt;p&gt;"Free hosting" is real, but the free tiers are shaped very differently, and the thing that bites you is almost never storage — it's &lt;strong&gt;bandwidth&lt;/strong&gt; and &lt;strong&gt;build minutes&lt;/strong&gt;, plus one licensing clause.&lt;/p&gt;

&lt;p&gt;Rough shape of the three most common choices (always re-check current limits — these change):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Cloudflare Pages&lt;/th&gt;
&lt;th&gt;Vercel (Hobby)&lt;/th&gt;
&lt;th&gt;Netlify (Free)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bandwidth&lt;/td&gt;
&lt;td&gt;Effectively unmetered&lt;/td&gt;
&lt;td&gt;~100 GB/mo, then upgrade&lt;/td&gt;
&lt;td&gt;~100 GB/mo, overages billed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Build minutes&lt;/td&gt;
&lt;td&gt;500/mo&lt;/td&gt;
&lt;td&gt;limited&lt;/td&gt;
&lt;td&gt;~300/mo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Commercial use, free tier&lt;/td&gt;
&lt;td&gt;Allowed&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Not allowed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Allowed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Custom domain + SSL&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two things to internalize:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vercel's Hobby plan is for non-commercial projects.&lt;/strong&gt; The moment your app is a business, their terms want you on &lt;strong&gt;Pro ($20/mo)&lt;/strong&gt;. It's not a bandwidth wall you hit by accident — it's a licensing line you cross the day you charge money.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Netlify meters bandwidth + build minutes.&lt;/strong&gt; A page that goes mildly viral, or a repo that rebuilds on every commit, can blow past the free tier fast, and overage pricing is steep.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a hobby or static/marketing site, &lt;strong&gt;Cloudflare Pages&lt;/strong&gt; is the boring, honest default — genuinely generous free tier, no commercial-use asterisk. For an app with server-side logic you're iterating on, Vercel and Netlify are excellent — just budget for the paid tier from day one instead of being surprised.&lt;/p&gt;

&lt;h2&gt;
  
  
  The clean path, end to end
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Put your DNS on the same provider you host with where possible (fewer moving parts, fewer TLS conflicts).&lt;/li&gt;
&lt;li&gt;Add the apex record (A / ALIAS / flattened CNAME) &lt;strong&gt;and&lt;/strong&gt; the &lt;code&gt;www&lt;/code&gt; CNAME.&lt;/li&gt;
&lt;li&gt;Pick a canonical host (apex &lt;em&gt;or&lt;/em&gt; www) and redirect the other.&lt;/li&gt;
&lt;li&gt;Wait for DNS to propagate before touching SSL. Let the cert auto-issue.&lt;/li&gt;
&lt;li&gt;Proxying through Cloudflare in front of another host? Set SSL to &lt;strong&gt;Full (strict)&lt;/strong&gt; — not Flexible.&lt;/li&gt;
&lt;li&gt;Test &lt;code&gt;http://&lt;/code&gt; and &lt;code&gt;https://&lt;/code&gt;, apex and &lt;code&gt;www&lt;/code&gt;, in an incognito window.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's the whole thing. The AI writes the app; this is the ten steps between "it works on my screen" and "it works on my domain."&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I keep field notes like this — real builds with AI tools, timed, with the raw numbers — over at &lt;a href="https://www.ybuild.io/" rel="noopener noreferrer"&gt;Build Lab&lt;/a&gt;. The full walkthrough, with screenshots of each DNS panel, is &lt;a href="https://www.ybuild.io/deploy-an-ai-built-app-to-your-own-domain/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>beginners</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
