---
title: "App is stuck on a loading spinner"
description: "An endless spinner is usually a paused Supabase project, an idle deployment, or a wait with no error path. How to tell which and what to fix."
url: https://whocanfixmyapp.com/problems/stuck-on-a-loading-spinner
---

[Home](https://whocanfixmyapp.com/) / [Problems](https://whocanfixmyapp.com/problems) / [Screens and forms](https://whocanfixmyapp.com/problems#screens-and-forms)

# App is stuck on a loading spinner

VC-57 · Supabase · Lovable · Replit · Updated October 2026 · By [Nathaniel Kelley](https://whocanfixmyapp.com/authors/nathaniel-kelley)

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](https://whocanfixmyapp.com/pricing))
- **Top rated for Supabase**: [Redlab](https://whocanfixmyapp.com/companies/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](https://whocanfixmyapp.com/problems/supabase-project-paused-or-free-tier-limit) and [Replit deployment sleeping](https://whocanfixmyapp.com/problems/replit-deployment-crashing-or-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](https://whocanfixmyapp.com/methodology#score).

- 1 · [Redlab](https://whocanfixmyapp.com/companies/redlab) · **10.0**/10 · Best for: A full rescue by one team that keeps building · Free first step · from $490
- 2 · [Vibe Code Rescue (Lev Arakelyan)](https://whocanfixmyapp.com/companies/vibe-code-rescue-lev-arakelyan) · **9.0**/10 · Best for: A one-off check and a cleanup · From $299
- 3 · [LazyCodeLab](https://whocanfixmyapp.com/companies/lazycodelab) · **9.0**/10 · Best for: A one-off check and a cleanup · From $399

[All 29 Supabase companies, ranked](https://whocanfixmyapp.com/best/supabase-developers)

## Check these

OPS-03 · High

Errors reach you before users do

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

AUTH-01 · High

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-02 · High

Signing out really ends the session

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

DATA-01 · Critical

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](https://supabase.com/docs/guides/deployment/going-into-prod); [Supabase: onAuthStateChange](https://supabase.com/docs/reference/javascript/auth-onauthstatechange); [Replit: Autoscale deployments](https://docs.replit.com/cloud-services/deployments/autoscale-deployments); [Supabase: logs](https://supabase.com/docs/guides/telemetry/logs).

**Lovable guide**

What Lovable builds, where it breaks and how to check it: [Lovable app rescue: what breaks and how to check it](https://whocanfixmyapp.com/guides/lovable).

**Same category**

- [CORS error only on the live site](https://whocanfixmyapp.com/problems/cors-error-only-on-the-live-site)
- [Hydration error after deploy](https://whocanfixmyapp.com/problems/hydration-error-after-deploy)
- [Form submits but nothing happens](https://whocanfixmyapp.com/problems/form-submits-but-nothing-happens)
- [Looks fine on desktop, broken on phones](https://whocanfixmyapp.com/problems/looks-fine-on-desktop-broken-on-phones)
- [Images and files not loading after deploy](https://whocanfixmyapp.com/problems/images-not-loading-after-deploy)

[All screens and forms problems](https://whocanfixmyapp.com/problems#screens-and-forms)

**Run every check**

The [production checklist](https://whocanfixmyapp.com/checklist) has all 24 checks with a verdict.
