YOUR LAUNCH CHECKLIST

A solid foundation.
One connection at a time.

Database and auth-table readiness are checked live. Other provider badges show configuration presence, not a successful external login or email delivery. Credentials remain on the server.

Database URI

Check schema

Add one private Supabase PostgreSQL connection string as DATABASE_URL. Readiness checks all 49 public tables, RLS, and Better Auth tables. DIRECT_DATABASE_URL is optional for a separate migration connection.

Better Auth

Needs setup

Requires the existing secret, a live database connection, and migrated auth tables. Email delivery and Google login are checked separately.

Google login

Needs setup

Add the OAuth client ID and secret, with /api/auth/callback/google as the callback path.

Transactional email

Configured

Add a Resend key and a correctly formatted, verified sender for verification, password resets, and invitations.

Razorpay

Needs setup

Add TEST keys, plan IDs, and a webhook secret. Live payments require a verified merchant account.

Clueotter Supabase project

Configured

Set the Clueotter project URL, publishable key, and project reference in each deployment environment. Private app data still uses the server-side PostgreSQL URI.

Supabase Queues

Ready

Enable the pgmq extension and three private queues with npm run queues:setup after migrations; then run npm run worker and npm run worker:renderer as needed.

Website collection

Needs setup

Enable after reviewing your tracked sources. Browser, advertising and AI sources are later integrations.

Run it locally

npm install
npm run setup
npm run db:check
# Only if db:check reports pending migrations:
npm run db:migrate
npm run queues:setup
npm run dev
# In another terminal:
npm run worker

Add the Clueotter database URI privately after setup and before db:check. To connect Supabase, see docs/SUPABASE.md in the project. Google, Resend, and Razorpay require your own credentials.

Explore the sample workspace ↗