Admin mode You're signed in to the Galaxy admin console. Changes here affect every user.
Back to app

Overview

Snapshot of user activity, plan distribution, and growth.

Live
0
Total Users
0
Starter Plan
0
Pro Plan
0
Elite Plan
0
Total Applications
0
Applied (Last 24h)
$0
Monthly Revenue
$0
Avg Rev / User
0%
Interview Rate
$0
ARR (Est.)
Plan Distribution
Application Status (All Users)
User Growth (Last 6 Months)
Recent Activity
Top Users by Applications
All Users
User Plan Target Role Country Applied Last 24h Joined
$0
Total MRR
$0
ARPU
$0
ARR (Est.)
Top Revenue Plan
Revenue by Plan
Revenue by Country
Plan Revenue Breakdown
Revenue by Country
0
Users in Scope
Top Technology
Most Common Plan
Paid Retention Rate
0
Applications, Last 60s
Users by Technology
Users by Country
Top Companies Applied To
Users by Plan
Users by Email Domain
Paid-Plan Retention
"Avg. time to offer" isn't shown here on purpose — no part of Galaxy currently moves an application's status past applied in the synced database (the Manage Applications kanban board tracks stage changes, but only in localStorage — it's never written back to Supabase), so there's no real timestamp to measure it from yet.
0
Jobs in Feed
0
Added Last 24h
0
Distinct Companies
Newest Job Found
Jobs by Board
Latest Jobs Ingested
Title Company Board Found
Sending requires RESEND_API_KEY and EMAIL_FROM to be set in Vercel → Settings → Environment Variables (see api/_email-config.js). If they're missing, the Send button will report it when you try.
Compose email
Preview

This is roughly how the email will render for recipients.

Galaxy
Your email body will appear here as you type.

You're receiving this because you have a Galaxy account. Manage your email preferences.

Recent campaigns
Subject Audience Sent / Total Status Sent by Date
No campaigns sent yet.
Support & feedback inbox
Type From Message Status Received
No requests yet.
Pending question submissions
Company / Role Round Difficulty Questions Submitted
No pending submissions.
Configuration
Known production blockers
Full detail in HANDOFF.md §6 and SECURITY.md.
Configuration status
Stripe API key
Required for create-checkout, verify-session, customer-portal.
Supabase URL
Read from GALAXY_SAAS_URL env var.
Webhook signing secret
Required to verify events arriving from Stripe.
Supabase service role key
Required to update profile.plan without being blocked by RLS.
No events received yet.
Setup steps
  1. Open the Stripe dashboard → toggle to Live mode (top-right) → Developers → Webhooks → Add endpoint. A live-mode endpoint has its own signing secret, separate from any test-mode one you had. Open Stripe →
  2. Endpoint URL (copy below). Stripe will POST events here.
  3. Events to subscribe (copy below, paste into the "Select events" search).
    checkout.session.completed, customer.subscription.updated, customer.subscription.deleted, invoice.payment_failed
  4. Reveal the signing secret (starts with whsec_) and paste it on the right ↦
  5. Add the generated env vars in Vercel → Project → Settings → Environment Variables, then redeploy. After redeploy the status pills above flip to "Configured". (Secrets live in Vercel's env vars now, not in a source file — see the generated block for the exact variable names.)
Generate your env vars
Quick test

From the Stripe dashboard webhook detail page, click "Send test webhook" → choose customer.subscription.updated → click Send test webhook. The "Last event received" timestamp above should update within seconds.