Before launching a vibe-coded app, slow down long enough to check the basics. Most launch issues come from missing configuration, unclear data rules, or untested flows.
App basics
- The homepage explains what the product does.
- Navigation works on mobile and desktop.
- Important pages have metadata.
- Forms have labels and validation.
- Empty and error states are handled.
Code basics
- Dependencies are committed in
package-lock.json. npm run lintpasses.npm run buildpasses.- The app starts with the production start command.
- Environment variables are documented.
Supabase basics
- RLS is enabled.
- Public reads are intentionally limited.
- Authenticated users can only edit their own records.
- New submissions default to
pending. - Service role keys are server-only.
Deployment basics
- Production domain is configured.
- SSL is active.
- Supabase Site URL is production.
- Supabase redirect URLs include the production callback.
- Localhost redirects are kept only for development.
Final user-flow test
Test as a real user:
- Open the homepage.
- Read an article.
- Log in with magic link.
- Create a builder profile.
- Submit a project.
- Confirm it is pending.
- Manually approve it in Supabase.
- Confirm it appears in the public showcase.
If that flow works, the MVP is much closer to launch-ready.