Living report · updated 10 November 2026 · +12 new verified cases since the last update

What breaks when
AI apps go live.

Across the last 12 months, the next most common patterns are production settings that differ from a laptop (17%), slow paths and hard quotas (13%), and a changed dependency (13%).

Verified cases
937last 12 months · +106 this week
Posts judged
9,546100% of everything collected
Posts collected
9,546from 9 public sources
Deploy & build share
23%then other at 15%
Free launch readiness checkPick your stack and see the five ways apps like yours broke after launch in our 937 verified cases, with a check for each.
Run the check →
Verified cases per week

753 in the last 12 weeks · about 63 a week

Where it breaks

Share of the 937 recent verified cases

Hottest right now

Production has different settings than your laptop

57 new verified cases in the last 28 days, up from 39 in the 28 days before.

Read the fix →
The patterns · swipe

The deploy succeeded, the site did not: 19% of 937 verified cases

1 / 8
01181 cases

The deploy went through, the site did not

A release shows green or is half-finished while production serves something else. The live site runs a months-old build, a rollout kills a call in progress, an unpinned CLI jumps a major version, or the site renders blank after a host or runtime change. Several reports say nobody noticed for days.

02157 cases

Production has different settings than your laptop

A variable reaches the app locally but not when deployed. A key is rejected after a rotation. A CORS allowlist omits a real origin, or login redirects to localhost. A domain's certificate is wrong, a record is missing or the redirect returns 200 instead of 301. The failure is specific and never shows up in development.

03125 cases

Slow paths and hard quotas hit at launch

A search times out because an unindexed count runs before every query. The first request after idle returns 500. A free-tier quota for CPU, egress, commands or build minutes runs out. A slow model call outlives the function limit. Queued retries pile up behind a stalled worker.

04122 cases

The service you depend on changed underneath you

A model name is retired and the gateway returns 403 or 404. An upstream API starts challenging requests with a Cloudflare 403. A provider changes its access rules and every request is unauthorized. A weather, geocoding or map-data service goes down with no fallback. An AI provider account runs out of credit and the alerts are ignored.

0572 cases

Schema, connections and concurrent writes

New code reads a column before its migration has run. A migration passes staging and fails on production data. A blocking index build takes a tenant down at startup. Two refreshes delete each other's rows. A retry duplicates an entire client book. A pooled connection is held across a slow call and dropped. The API falls back to an in-memory store while health checks stay green.

0661 cases

Sign-in works on the happy path only

The first login after idle fails. Sign-up ends on a 404. Users are logged out whenever the app process is killed. A mail scanner consumes a sign-in link before anyone clicks it. CORS preflight blocks an iOS app, or an expired token leaves an account shown as connected while every request fails.

0740 cases

Data was readable or abusable by default

Tables are open to anonymous and authenticated roles. A public search returns the names of private pages. A public function runs with a privileged client. Admin rights go to every user of an email domain. A share endpoint will send branded mail to any address. Auth routes are rate-limited by a header an attacker can forge.

0827 cases

The money moved but the access did not

A disabled webhook leaves paid orders pending with no confirmation email. A buyer lands on the pricing page after checkout. A balance still shows after a successful payoff. A subscription change fails because the price currency does not match. A paid fulfillment dies on a type mismatch and needs manual recovery.

Every one of the 937 cases is counted once: 785 in the patterns above, 152 fit none of them yet.

Troubleshooting guides

How to fix each one.

177 casesDeploy succeeded but production still serves the old site155 casesApp works locally but fails in production: config checklist108 casesApp times out or hits a quota limit at launch: how to fix it89 casesDeploy succeeded but the live site still shows old content69 casesMigration works locally but fails in production: causes and fixes69 casesAI feature fails in production: 429, 403, quota or retired model54 casesLogin works locally but fails in production: emails and callbacks47 casesAPI calls hang in production: add timeouts, retries and real checks45 casesPaid users still locked out? Webhooks, paused hosting and AI bills41 casesCustom domain not working but the platform URL works38 casesEnvironment variables missing or empty in production: fixes23 casesCustom domain SSL not working but the default URL loads21 casesSite paused by your host with no code change: how to fix it21 casesMy app's database is readable by anyone: how to find and fix it15 casesSign-in works locally but fails in production: how to fix it12 casesHealth checks pass but production is failing silently11 casesUsers can't sign in: auth email in spam, blocked or never sent10 casesUsers can see other users' data: fixing RLS and access rules9 casesRLS blocks your own users or leaks their data: how to fix it9 casesStripe webhook not granting access after payment: how to fix it6 casesSign-in, database and storage all down at once: how to fix it5 casesFile uploads fail or user files are public: fix storage policies5 casesAPI endpoints answer without login and secrets ship in the bundle

All guides → Fixes for specific errors →

This week's signals

What builders ran into.

Method

How every case is triaged.

9,546Collected

Public posts from the sources below, fetched politely, newest first.

9,546Judged

Claude judges each against one fixed definition, quoting the post.

1,074Verified

Kept only if that quote is found verbatim in the stored post.

937Last 12 months

The window every number on this page uses.

Patterns

Grouped into failure patterns; only aggregates are published.

Sources
7,076 github1,140 hackernews425 cursor forum319 stackoverflow169 bubble forum150 vercel forum130 netlify forum82 fly forum55 freecodecamp forum

We search public forums (Stack Overflow, GitHub issues, Hacker News and vendor community forums) with the same number of queries for each of 12 stages of going live, from deploys and configuration to sign-in, payments, data, performance, AI APIs, email, domains and abuse, so no area is over-sampled by how we search.

Each post is judged by a model given one fixed definition (a first-person report of the author's own app failing in production or at launch) and a fixed list of categories. It is not told who publishes this report. A verdict counts only if it comes with a quote that we find word for word in the stored post.

For every case we keep the post as fetched, its hash, the fetch time and a copy of the page (985 of 1103 also in the Internet Archive), so any number here can be traced to its sources even if a post is later edited or deleted. We publish only aggregates: no names, handles or quotes.

Limits: English-language public forums only, and people who post about a failure are not a random sample of all apps. Counts can overlap between patterns. Gemmein publishes this report and sells a backend; the collection and judging above are blind to that, and each pattern says plainly when Gemmein has nothing to do with it.

How we check this data

Every day a sample of already-judged posts, spread evenly across sources and across "case" and "not a case" verdicts, is judged a second time by a reader that is never shown the first verdict. Where the two disagree, a third pass looks at the post and our stored copy of the page and settles it; the case is then kept, corrected or excluded.

800 posts re-checked since 2026-10-07; the two readers agreed on 82.5% (last 30 days: 83.0% of 700). 63 correction(s) so far: 35 verdict, 25 category, 3 duplicate. Identical cross-posts count once. Of the re-checked posts, 18 had since been removed or moved (2 of them backed by our stored copy).

Source mix of the counted cases: github 64%, stackoverflow 11%, vercel forum 8%, netlify forum 6%, fly forum 5%, hackernews 2%, bubble forum 2%, cursor forum 1%, freecodecamp forum 0%. One source is above 40%, so collection is being widened to other neutral forums. Guides are re-read against the current official documentation at least every 14 days (19 reviewed in the last 14); each shows its review date and what changed.

Corrections log (latest 12)
  • 2026-11-10 · category · github: other → performance & scaling
  • 2026-11-10 · category · github: config & secrets → abuse & security
  • 2026-11-09 · category · github: other → files & storage
  • 2026-11-09 · verdict · github: case → not
  • 2026-11-09 · verdict · github: case → not
  • 2026-11-08 · verdict · github: case → not
  • 2026-11-08 · category · stackoverflow: config & secrets → deploy & build
  • 2026-11-08 · verdict · github: case → not
  • 2026-11-08 · category · stackoverflow: other → config & secrets
  • 2026-11-07 · verdict · bubble forum: case → not
  • 2026-11-06 · verdict · fly forum: not → case
  • 2026-11-06 · category · github: sign-in & sessions → other