Common ways apps built with Cursor break
Cursor apps are regular codebases, so they break the way any app does, just faster. Common ones: Under each one, “Heedza sees this” means the problem stops a page from opening or removes its form, so you get an alert. Heedza only sees what a visitor sees before logging in, so it can’t see problems that happen after a form is sent.
- An agent change breaks a page you didn't ask about. Cursor's docs offer checkpoints for this: the agent "automatically creates them before making significant changes", and you can restore one to revert files. But "Checkpoints are stored locally and separate from Git" and are only for undoing agent changes (Cursor: Agent). Once a change is committed and deployed, you need Git, and you need to notice. See AI edit broke your log-in? How to fix it Heedza sees this.
- Environment variables differ in production.
NEXT_PUBLIC_values are fixed at build time (Next.js: Environment variables), and on Vercel env changes "only apply to new deployments" (Vercel: Environment variables). See "supabaseUrl is required" in production? Heedza sees this. - Stripe is created with an empty key. See Stripe "Neither apiKey nor config.authenticator provided". Heedza sees this if the payment page stops opening or loses its Pay button.
- AI routes time out on the host. See Vercel 504 FUNCTION_INVOCATION_TIMEOUT on your AI feature. Heedza can’t see this.
- Platform changes underneath you. For example, Supabase stops granting new tables to API roles automatically on all existing projects from 30 Oct 2026 (Supabase changelog). See Supabase "permission denied for table". Heedza can’t see this.
- Commands behave differently when the agent runs them. Cursor sets
CI=1when the agent runs terminal commands, which can change how some tools behave (Cursor: Agent troubleshooting). Heedza can’t see this.
What Heedza checks
Heedza works from the outside, on your public web address. There's nothing to install.
- Your key pages. We open your home page the way a visitor does, follow its links to your sign-up, log-in and payment pages, and check on a schedule that each one opens and shows its form or Pay button.
- Security checks. The free scan looks for secret keys in your page code and
.envor.gitfiles anyone can open. - Alerts. When a check fails, you get an alert (by email, or on paid plans also Slack, Telegram or a webhook (we send the alert to a web address you choose; for developers)) with a picture of the page and a fix written for Cursor, ready to paste into Cursor.
It never fills in forms, never logs in, never types a card number and never clicks Pay. So it can't tell you whether a log-in, email or payment works after the button is pressed.
It works the same for any vibe-coded app, whichever AI tool made it. Build Cursor apps for clients? See Heedza for agencies: up to 30 client sites, with white label client reports and status pages on Business.
Fix it for me (Pro and Business)
Some alerts have a Fix it for me button. Nothing starts until you press it. Heedza then writes the fix and suggests it on GitHub (a pull request). Nothing changes in your app until you approve it, and you can undo it.
It works for a page Heedza checks that stopped working (such as sign-up, log-in or payment), a file that should not be public, and a security setting your site stopped sending. It needs your app’s code in a GitHub project (repository), with the Heedza GitHub app added to it. Other alerts come with a fix to paste into your AI tool. How Fix it for me works