<?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: Axonscape</title>
    <description>The latest articles on DEV Community by Axonscape (@axonscape).</description>
    <link>https://dev.to/axonscape</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%2F4211837%2F8136f7e0-0e12-487e-b259-d2b14ff25dee.png</url>
      <title>DEV Community: Axonscape</title>
      <link>https://dev.to/axonscape</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/axonscape"/>
    <language>en</language>
    <item>
      <title>New Lovable app shows 404 on every page on Vercel</title>
      <dc:creator>Axonscape</dc:creator>
      <pubDate>Wed, 28 Oct 2026 09:40:53 +0000</pubDate>
      <link>https://dev.to/axonscape/new-lovable-app-shows-404-on-every-page-on-vercel-25na</link>
      <guid>https://dev.to/axonscape/new-lovable-app-shows-404-on-every-page-on-vercel-25na</guid>
      <description>&lt;p&gt;Lovable projects made since May 2026 use TanStack Start, which renders pages on a server. Built for Cloudflare Workers, they 404 on Vercel until they're built with Nitro.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you see
&lt;/h2&gt;

&lt;p&gt;Every page on Vercel, the home page included, shows &lt;code&gt;404 NOT_FOUND&lt;/code&gt;, or the deploy has no pages at all. The &lt;code&gt;vercel.json&lt;/code&gt; rewrite that fixes older Lovable apps doesn't help, and can make it worse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it happens
&lt;/h2&gt;

&lt;p&gt;Since 13 May 2026, Lovable builds apps with TanStack Start, which makes each page on a server rather than in the browser. Its build says where that server runs. Set up for Cloudflare Workers (&lt;code&gt;@cloudflare/vite-plugin&lt;/code&gt; and a &lt;code&gt;wrangler.jsonc&lt;/code&gt;), it produces something Vercel can't run.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to fix it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Check &lt;code&gt;package.json&lt;/code&gt; for &lt;code&gt;@tanstack/react-start&lt;/code&gt;. If it's there, this page is about your app.&lt;/li&gt;
&lt;li&gt;Build with Nitro, which Vercel detects and runs: &lt;code&gt;npm i nitro&lt;/code&gt;, then add &lt;code&gt;nitro()&lt;/code&gt; from &lt;code&gt;"nitro/vite"&lt;/code&gt; to the plugins in &lt;code&gt;vite.config.ts&lt;/code&gt;, beside &lt;code&gt;tanstackStart()&lt;/code&gt; and &lt;code&gt;viteReact()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Don't write a Nitro preset in, so Vercel is detected by itself.&lt;/li&gt;
&lt;li&gt;Remove any &lt;code&gt;vercel.json&lt;/code&gt; rewrite to &lt;code&gt;/index.html&lt;/code&gt;: a server-rendered app has no &lt;code&gt;index.html&lt;/code&gt; to send pages to.&lt;/li&gt;
&lt;li&gt;Deploying to Cloudflare Workers with &lt;code&gt;wrangler&lt;/code&gt; works as the app is.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Or ask your AI tool to fix it
&lt;/h2&gt;

&lt;p&gt;Paste this into Lovable, Bolt, v0, Replit or Cursor:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This TanStack Start app needs to deploy to Vercel, and it's set up to run on Cloudflare Workers. Make its build use Nitro: install nitro and add nitro() from "nitro/vite" to the Vite plugins, beside tanstackStart() and viteReact(). Don't hard-code a Nitro preset, and remove any vercel.json rewrite to /index.html. Keep the app working in Lovable's own preview: only use Nitro when process.env.VERCEL is set. Don't change what the app does.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;The full page, with the request ready to copy, is at &lt;a href="https://launchpad.axonscape.com/fix/lovable-tanstack-start-404-on-vercel" rel="noopener noreferrer"&gt;launchpad.axonscape.com/fix/lovable-tanstack-start-404-on-vercel&lt;/a&gt;. I work on Launchpad by Axonscape, which runs a &lt;a href="https://launchpad.axonscape.com/check" rel="noopener noreferrer"&gt;free launch check&lt;/a&gt; for apps built with AI tools: it finds this and the other things that break at launch, from a public GitHub repo or a .zip of the code, and keeps nothing.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>ai</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Pages show 404 when refreshed or opened directly</title>
      <dc:creator>Axonscape</dc:creator>
      <pubDate>Wed, 28 Oct 2026 00:13:45 +0000</pubDate>
      <link>https://dev.to/axonscape/pages-show-404-when-refreshed-or-opened-directly-47he</link>
      <guid>https://dev.to/axonscape/pages-show-404-when-refreshed-or-opened-directly-47he</guid>
      <description>&lt;p&gt;Your Lovable or Bolt app works from the home page, but /dashboard shows 404 on Vercel or Netlify when you refresh it or open a link to it. One small file fixes it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you see
&lt;/h2&gt;

&lt;p&gt;The home page loads. Clicking around works. But refresh &lt;code&gt;/dashboard&lt;/code&gt;, or open a link someone shared to it, and the host answers &lt;code&gt;404 NOT_FOUND&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it happens
&lt;/h2&gt;

&lt;p&gt;The app is a single-page app: its pages exist only in the browser, drawn by a router (React Router, Wouter). The host is asked for a file called &lt;code&gt;/dashboard&lt;/code&gt;, has none, and says so. Inside Lovable or Bolt, their hosting sends every address to the app for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to fix it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;On Vercel, add a file named &lt;code&gt;vercel.json&lt;/code&gt; at the top of the repository with: &lt;code&gt;{ "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }] }&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;On Netlify, add &lt;code&gt;public/_redirects&lt;/code&gt; with the line: &lt;code&gt;/* /index.html 200&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;On Cloudflare Pages, you need nothing: it sends unknown addresses to the app by itself.&lt;/li&gt;
&lt;li&gt;Commit, push, and open a deep link again.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Or ask your AI tool to fix it
&lt;/h2&gt;

&lt;p&gt;Paste this into Lovable, Bolt, v0, Replit or Cursor:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;My app shows 404 when a page other than the home page is refreshed or opened directly on Vercel. Add a vercel.json at the root of the repository that rewrites every path to /index.html, so the router handles it. Don't change anything else.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;The full page, with the request ready to copy, is at &lt;a href="https://launchpad.axonscape.com/fix/page-404-on-refresh" rel="noopener noreferrer"&gt;launchpad.axonscape.com/fix/page-404-on-refresh&lt;/a&gt;. I work on Launchpad by Axonscape, which runs a &lt;a href="https://launchpad.axonscape.com/check" rel="noopener noreferrer"&gt;free launch check&lt;/a&gt; for apps built with AI tools: it finds this and the other things that break at launch, from a public GitHub repo or a .zip of the code, and keeps nothing.&lt;/p&gt;

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