whocanfixmyapp

Home / Problems / Screens and forms

App is stuck on a loading spinner

VC-57SupabaseLovableReplitUpdated October 2026By

Quick verdict

Partly fixable yourself. Often a paused project or a wait that never ends.

How serious
High
Fix it yourself?
Partly, some steps need a developer
Typical cost
$49–$800 one-off check, or €99–$990 for a single fix (prices)
Top rated for Supabase
Redlab · 10.0/10

What you see. The live app shows a spinner forever, sometimes only for signed-in users or only after it sat idle for a while.

Why it happens

A spinner shows while a loading flag is true. The app sets it to false when data arrives. If the request fails and the code has no error path, the flag stays true forever. AI-built apps often have exactly that shape: a wait for the session, then a wait for data, with no timeout and no catch.

Three things make the request fail. Supabase pauses Free Plan projects after seven days of low activity, and every call then fails. Replit Autoscale deployments drop to zero servers when idle, so the first request after a quiet period can be slow or fail before the app gives up. And auth flows built on onAuthStateChange sometimes never reach the state the code is waiting for, so signed-in users hang while visitors see the page. A read blocked by an access rule returns zero rows, and code that waits for the first row waits forever.

Fix it yourself

  1. Press F12 and open Network. Red requests to supabase.co that fail at once usually mean a paused project. Open the Supabase dashboard and press Restore if it says Paused.
  2. If requests hang or never appear, it is app logic. Try a private window. If that loads, clear site data for your domain and sign in again.
  3. Ask your builder: Every loading state must end. Set loading to false in a finally block, show an error message on failure, and add a 10 second timeout.
  4. In Supabase open Logs, choose Auth and API Gateway, and look for errors at the time it hung.
  5. On Replit open the deployment page and check its status and logs. If the app must answer instantly at all hours, a Reserved VM deployment runs continuously.
  6. For the underlying problems see paused project and Replit deployment sleeping.

When to get an engineer

Get an engineer when the spinner only affects some users, when it appears after sign-in, or when the AI keeps adding loading states instead of error handling. Tell them when it started, whether a private window works, and what the Network tab shows. A one-off check is $49–$800 and a single fix €99–$990, about two days. Ask them to add error reporting so a hang becomes a message to you, not a mystery.

Top-rated companies for Supabase apps

Ranked by our score: published prices, scope of work, AI tools named, timing and a low-risk first step. How we score.

  • 1Redlab10.0/10Best for: A full rescue by one team that keeps buildingFree first step · from $490
  • 2Vibe Code Rescue (Lev Arakelyan)9.0/10Best for: A one-off check and a cleanupFrom $299
  • 3LazyCodeLab9.0/10Best for: A one-off check and a cleanupFrom $399

All 29 Supabase companies, ranked

Check these

OPS-03High

Errors reach you before users do

Add error monitoring and uptime alerts. If you learn about outages from customers, this is missing.

AUTH-01High

Sign-up confirmation and password reset work end to end

Use a real inbox. Check that the link arrives, points to your live domain, and works once.

AUTH-02High

Signing out really ends the session

Sign out, press Back, and refresh. You should not see private pages or data.

DATA-01Critical

Access rules are on for every table

In Supabase, open Table Editor: every table should show RLS enabled, with at least one policy. In Firebase, your rules should never say allow read, write: if true.

Questions

Why does it only happen after a few hours or days?

Free Supabase projects pause after a week of low activity and idle Autoscale deployments drop to zero servers. The first visitor after that pays the price.

Is the data lost when the project pauses?

Pausing keeps the data. Restore the project and it comes back. Keep backups anyway, see OPS-01 on the checklist.

Sources: Supabase: production checklist; Supabase: onAuthStateChange; Replit: Autoscale deployments; Supabase: logs.