White screen in production, works in the editor
A blank page almost always means one error thrown before the first render. The trick is that the error is in the browser console, not in the deploy log, so people stare at a green deploy and a white page. Two minutes gets you the cause.
First: read the actual error
Open the site, press F12, look at the Console tab, and reload. The first red line is the cause; everything after it is noise.
On a phone, connect the device to the desktop browser's remote debugging. Do not debug mobile-only blank screens blind.
An environment variable is undefined, and the code reads a property of it
The most common single cause. A missing variable becomes undefined, the code immediately reads something off it, and the whole app dies before rendering.
This also happens when the variable exists but is empty, which is easy to miss in the host's settings UI.
The assets are requested from the wrong path
The app is built for a root domain and deployed into a subfolder, or the other way round. The HTML loads and every script 404s.
This is the usual cause when a project works on the host's preview URL and breaks on your own domain.
The router has no fallback, so every direct link 404s
The home page works, but reloading any other page gives a blank or a 404. A single-page app needs the host to serve index.html for unknown paths.
Shared links and ad campaigns land on inner pages, so this bug costs real customers while the home page looks fine.
The database is refusing every request and the app treats it as fatal
In production your keys and access rules are different from the editor. The first query throws, and nothing catches it.
An app that shows a white screen when the database is down will do it again at the worst moment. Add the fallback even after you fix the keys.
Not one of these five?
Send me the link and the exact error text. I will tell you what is broken and what it would take to fix, in writing, within 24 hours. That part is free, and you are not obliged to hire me afterwards.
If you do want it fixed: emergency rescue starts at $600, and I name one fixed number before I start.
Send me the link