# Ship It Checklist > Pre-launch checklists for apps built with Cursor, Lovable, Replit, Bolt and Claude Code. Two checks in each section are open. The rest of the detail is a one-time purchase. Error fixes stay free. Ship It Checklist lists a pre-launch check for each stack. Every title is public. The first two checks in each section include the steps and the prompt. The other steps and prompts are a one-time purchase. Error fixes stay free. Progress is stored in the browser. The newsletter form stores an email address and does not send mail yet. The site does not publish usage statistics or testimonials. The checklists are not a security audit. A ticked item is not proof an app is safe. Editorial launch-site checks sit in the SEO and AI visibility section of each checklist. Paid listings appear in the matching checklist section. They are labelled Sponsored and are not editorial. Checkout for them is off until Stripe is configured. ## Checklists - [Lovable + Supabase](https://shipitchecklist.com/checklist/lovable-supabase): Apps built in Lovable, with data and sign-in in Supabase. 22 checks. - [Bolt](https://shipitchecklist.com/checklist/bolt): Apps generated in Bolt, then moved to a host you control. 22 checks. - [Replit](https://shipitchecklist.com/checklist/replit): Apps built in a Replit workspace and published from there. 22 checks. - [Cursor or Claude Code, Next.js and Vercel](https://shipitchecklist.com/checklist/cursor-next-vercel): Next.js apps written with Cursor or Claude Code and hosted on Vercel. 22 checks. - [Cloudflare](https://shipitchecklist.com/checklist/cloudflare): Apps running on Cloudflare Workers, with D1, KV or R2. 22 checks. ## Error fixes - [Supabase: new row violates row-level security policy](https://shipitchecklist.com/errors/supabase/rls-insert): Postgres refused an insert because row level security is on and no policy allows that row. - [Supabase: permission denied for table](https://shipitchecklist.com/errors/supabase/permission-denied): The database role behind the API key does not have a GRANT to use that table. - [Supabase: Invalid API key](https://shipitchecklist.com/errors/supabase/invalid-api-key): The key sent to Supabase is missing, truncated, or from another project. - [Supabase: JWT expired](https://shipitchecklist.com/errors/supabase/jwt-expired): The access token the app sent is no longer valid. - [Supabase: supabaseUrl is required](https://shipitchecklist.com/errors/supabase/supabase-url-required): The Supabase client was created without a project URL. - [Supabase sign-in returns with error_description in the URL](https://shipitchecklist.com/errors/supabase/redirect-error): Auth sent the browser back to your site with an error in the URL fragment. - [Vercel build failed: module not found](https://shipitchecklist.com/errors/vercel/module-not-found): The production build imported a package that is not installed, or a file that is not on disk. - [Vercel: FUNCTION_INVOCATION_TIMEOUT](https://shipitchecklist.com/errors/vercel/function-timeout): A serverless function ran longer than the plan allows and Vercel stopped it. - [Next.js: hydration failed](https://shipitchecklist.com/errors/nextjs/hydration-failed): The HTML from the server did not match the first render in the browser. - [Next.js: client hook inside a Server Component](https://shipitchecklist.com/errors/nextjs/client-hook-in-server-component): A server file called useState, useEffect, or another client hook. - [Next.js: DynamicServerError while reading cookies or headers](https://shipitchecklist.com/errors/nextjs/dynamic-server-error): cookies() or headers() ran outside the request's async context, or broke a static render. - [Stripe webhook signature verification failed](https://shipitchecklist.com/errors/stripe/webhook-signature): constructEvent could not match the body, the Stripe-Signature header, and the endpoint secret. - [Stripe: No such price](https://shipitchecklist.com/errors/stripe/no-such-price): The price id is from the other mode, from another account, or was deleted. - [Cloudflare Error 1101: Worker threw an exception](https://shipitchecklist.com/errors/cloudflare/error-1101): The Worker script threw, and the visitor sees Cloudflare's error page. - [Cloudflare Error 1102: Worker exceeded CPU time](https://shipitchecklist.com/errors/cloudflare/error-1102): The Worker used more CPU time than the limit for this request. - [D1: no such table](https://shipitchecklist.com/errors/cloudflare/d1-no-such-table): The Worker queried a table that this D1 database does not have. - [Replit: Application failed to respond](https://shipitchecklist.com/errors/replit/application-failed-to-respond): The published app is not listening on the port Replit expects. - [Bolt: process is not defined](https://shipitchecklist.com/errors/bolt/process-not-defined): Browser code read process.env, which exists in Node and not in the page. - [Browser: request blocked by CORS](https://shipitchecklist.com/errors/browser/cors-blocked): The browser refused a cross-origin response that did not allow your page's origin. - [Lovable: the Supabase query returns an empty list](https://shipitchecklist.com/errors/lovable/empty-query): The request succeeds with status 200 and an empty array because no SELECT policy matches. ## Also - [About](https://shipitchecklist.com/about) - [Contact](https://shipitchecklist.com/contact): email hello@shipitchecklist.com. X: https://x.com/shipitchecklist. - [Newsletter](https://shipitchecklist.com/newsletter): email capture only, no sending yet. - [Advertise](https://shipitchecklist.com/advertise): paid Sponsored checklist items. Checkout is off until Stripe is configured. - [AI-Ready Pack](https://shipitchecklist.com/ai-ready-pack): a one-time paid zip of llms.txt templates, robots rules, schema and a guide. The price is on that page. Checkout is off until Stripe is configured. It does not promise rankings or citations. - [Restore access](https://shipitchecklist.com/access): email a one-time link after a checklist payment. - [Privacy template](https://shipitchecklist.com/privacy) - [Terms template](https://shipitchecklist.com/terms) - [RSS](https://shipitchecklist.com/feed.xml)