Operator dashboard

Admin control plane for localhost setup, Vercel deploy, Stripe tracking, Supabase, and X queue processing.

Use localhost-setup.bat for the guided browser-first setup flow. This page is the live control plane after deployment.

The dashboard routes are protected by the same ADMIN_API_KEY you set in Vercel.

Runtime checks

Environment status

Green means the runtime can see the variable. It does not prove the value is correct.

Preferred flow

What to use now

Browser-first setup

  1. Run localhost-setup.bat.
  2. Fill the localhost setup wizard with your Vercel, Supabase, Stripe, and X values.
  3. Let the wizard deploy, then keep that localhost page open only until your live URL responds.
  4. When the live URL is reachable, the wizard redirects you to the deployed site.

No persistent local worker required

  • Queued posts live in Supabase.
  • Publishing can run from a Vercel cron route when enabled.
  • You can also trigger due posts manually from this admin page.
  • The old Python worker is now only a fallback option.

Important plan constraint

Vercel-only unattended posting needs cron enabled. On Vercel Hobby that means once-per-day only; minute-level scheduling requires Vercel Pro.

Payments

Stripe connection steps

Vercel env values

  1. STRIPE_SECRET_KEY
  2. STRIPE_WEBHOOK_SECRET
  3. SITE_URL
  4. SUPABASE_URL
  5. SUPABASE_SERVICE_ROLE_KEY
  6. ADMIN_API_KEY
  7. CRON_SECRET if you enable the Vercel queue processor

Webhook wiring

  1. Create a Stripe webhook endpoint at https://your-domain.com/api/stripe-webhook.
  2. Subscribe at minimum to checkout.session.completed.
  3. Copy the signing secret into STRIPE_WEBHOOK_SECRET.
  4. Run a test checkout and confirm the payment ledger updates.

Payment tracking vs escrow

This build tracks payments and payout states. It does not implement regulated escrow.

X queue

Queue management

The admin page writes posts to Supabase. Vercel can publish due rows if cron is enabled, or you can trigger it manually here.

Vercel queue processor path

  1. Create an X developer app with write-capable user-context credentials.
  2. Set X_API_KEY, X_API_SECRET, X_ACCESS_TOKEN, and X_ACCESS_TOKEN_SECRET in the wizard.
  3. Enable cron in the localhost wizard only if you are on Vercel Pro.
  4. Use the manual run button below for immediate tests or as a Hobby-plan fallback.

Manual publish path

  • Queue the post below.
  • Click Run due posts now.
  • The API route will post due items directly from Vercel.
  • No local command window needs to stay open for that path.

Create a queued post

Queued / recent X posts

Scheduled Status Content External ID

Stripe payment ledger

Created Product Amount Status Customer Hold