ADMIN
COMMAND CONSOLE
ADMIN
Admin tools — authorized access only
⚠️
ADMIN — DESKTOP ONLY
The full admin console requires a desktop browser. Mobile access is view-only.
PLATFORM OVERVIEW
Total Members
registered
Total Sales
confirmed
Command Console · Restricted Access
All writes route through the CPD Worker. Optional: paste a service_role key from the topbar after signing in to unblock a few read-only admin tables.
Incorrect password
ADMIN
Connected
A
SERVICE KEY (OPTIONAL — READ ONLY)

You don't need this to do anything destructive. All admin writes (edit, suspend, delete, grant credits, save brief, etc.) already route through the CPD Worker, which holds the service_role key server-side.

Paste a service_role key here only if you need to read from a handful of admin tables that RLS blocks for anon (e.g. raw activity-log exports). Never persisted.

Stored in sessionStorage only — wiped on logout or browser close.
Total Members
All time
Total Revenue
All sales
Commissions Owed
Pending payout
Active Leads
Pipeline total
Reports Run
This month
Classifieds
Active listings
Active Reps
Rep Suite
Ecosystem Module Health
Checking...
Blackbook
Dashboard
Rep Suite
Content Studio
Creative Lab
Culture Scanner
The Bank
Classifieds
Pipeline
Intelligence
Deal Room
A&R Suite
Campaign Cal
Recent Activity
Loading...
Revenue (Last 7 Days)
Connect DB to load chart
Quick Actions
Member Directory
Member Wix ID Plan Status Credits AI · legacy Invites Joined Last Active Actions
Loading members...
— members
Page 1
System Snapshot
Last captured: —
Total Tables
Total Records
Active Users
DB Size
Building snapshot...
Total Revenue
Commissions Owed
Pending Payout
Total Transactions
Sales Ledger
DateMember / TypeAmountCommission %Commission $StatusActions
Loading...
Available Balance
— pending
Next Payout
Active Subs
Last 7d Charges
Reconcile with Stripe
Fetches the last N days of transactions from Stripe and inserts any missing rows into the sales ledger. Idempotent — running twice in a row only writes genuinely-new rows. Use this once after Sprint A deploy to backfill historical transactions.
Subscriptions
Customer Member Match Plan Amount Status Next Renewal
Loading…
fal.ai — Generation Costs
Account balance + studio generation activity. Pulls live from fal.ai API.
fal.ai Balance
Generations · Last 7d
Generations · Last 30d
Credits Charged · 30d
Stripe Webhook Health

Compares webhook events Stripe attempted to send against what landed in our database. Drift means Stripe sent more events than we have records for — usually a webhook config issue. Some events (subscription.deleted, account.updated) update existing rows so we can't infer their local count — those show as unverifiable and you'd need to check Stripe Dashboard manually if their counts look unexpected.

Click Refresh to load webhook health.
Loading…
Credit Rules by Plan
Loading from Supabase...

These allowances are written to Supabase credit_rules and synced to the Worker. The Worker reads these on every /member-credits call — no restart needed. ◈ Studio Monthly allowances go to studio_credits via the monthly rollover cron.

◆ Network Member
Monthly Credits
Max Rollover
◈ Studio Monthly
★ Intro Member
Monthly Credits
Max Rollover
◈ Studio Monthly
★ Personal Pro
Monthly Credits
Max Rollover
◈ Studio Monthly
★★ Full Member
Monthly Credits
Max Rollover
◈ Studio Monthly
▲ Business Member
Monthly Credits
Max Rollover
◈ Studio Monthly
▲ Biz Plus
Monthly Credits
Max Rollover
◈ Studio Monthly
⬡ Business Enterprise
Monthly Credits
Max Rollover
◈ Studio Monthly
⚡ Bulk Credit Reload
Reload monthly allowances for all or specific plan members via Worker
Select Plan to Reload
Reload Mode
⭐ Grant Bonus Credits
Calls Worker /grant-bonus → logged to credit_transactions + attack_credits
Member ID
Credits to Add
Reason / Note
Spend Breakdown — where credits go
Loading…
Claude API Spend — real Anthropic $ by feature
Loading…
Live Credit Balances by Plan
Reads from attack_credits — Worker source of truth
Credit Transactions
DateMemberTypeAmountToolBalance AfterNote
Loading...
Effective $/Credit Comparison
Lower $/credit = better value for the customer (and lower margin per credit for you)
Tier Type Monthly / One-time $ Studio Credits $/Credit Note
Loading…
Plan Utilization · Current Month
Avg % consumed tells you whether plans are priced for actual usage. Members at cap = unprofitable risk; low usage = overpaying for unused credits.
Plan Active Members Avg Used Avg % Consumed At Cap (≥95%) Low Usage (<10%) Health
Loading…
Per-Model Cost (To Customer)
What each generation costs the customer at each pack tier. Sortable by usage to see what's actually moving money.
Model Kind Tier Credits / Gen $ at 5k pack $ at 1.5k pack $ at 500 pack This Month Lifetime
Loading…
Top Spenders · Current Month
Heavy users to watch. Members who consistently exceed their plan allowance might be unprofitable depending on wholesale costs.
Rank Member Plan Credits Used Allowance Over/Under Jobs Failed
Loading…
Total Referrals
Converted
Conversion Rate
Top Referrer
Referrer Leaderboard — who's bringing people in · tap a row to see who they referred
Loading…
Referral Log
DateReferrerReferredPlanStatusCommissionActions
Loading...
Link Clicks
Pending
Converted
Click→Convert
Pending Clicks (Not Yet Subscribed)
DateReferrer IDPlan HintSession TokenStatus
Loading...
Recent Click Log
DateReferrerPlanSource
Loading...
Converted Referrals (with Contact Info)
DateReferrerNew MemberEmailPlanCommissionLevel
Loading...

FIT FINDER STATUSLOADING...

Toggle off to take the public funnel offline. Visitors see a "we're upgrading" message instead.

Total Leads
New (24h)
Want a Call
Converted
All Leads
Lead Industry Plan Opt-Ins Referrer Assigned To Status Created Actions
Loading leads...
Domain → Owner Mappings
Domain Funnel Label Industry Owner Active Created Actions
Loading domains...
Total Funnel Leads
New (24h)
Want a Call
Converted
Funnel Leads
Lead Funnel Source Industry Opt-Ins Owner Status Created Actions
Loading leads...
Add Funnel Domain
Bare hostname only — no https://, no path. Lowercase.
Slug — saved on each lead's ref_source for filtering.
Reports Run
Shared Reports
Leads Created
Content Posts
Credits Used
Reports by Member
MemberReportsCreditsLast Active
Loading...
Top Tools Used
Loading...
All Campaign Reports
DateMemberReport TitleTypeSharedActions
Loading reports...
Total Leads
Qualified
Closed Won
Closed Lost
All Leads
ContactMemberStageValueCompanyUpdatedActions
Loading pipeline...
Main Headline & Body
Shown at the top of the brief for all members
Headline
Body
▶ Play 1
Label / Category
Content
▶ Play 2
Label / Category
Content
▶ Play 3
Label / Category
Content
▶ Play 4
Label / Category
Content
Publishing updates the single daily_brief row (PATCH if exists, POST if new).
Members see the updated brief immediately on next page load.
Published History
Loading briefs...
All Listings
TitleCategoryPosterStatusPostedActions
Loading...
Total Posts
Total Replies
Reported
0
Forum Posts
TitleAuthorRepliesPostedActions
Loading...

Culture Intelligence Refresh

8 of 9 tabs use a two-stage pipeline: Sonnet 4.6 + web search gathers real current data with citations, then Haiku 4.5 reformats into the schema. The Ticker tab stays on Haiku-only (no search). Daily cron is disabled — refresh weekly from this page. Members never trigger paid AI; they read the cached snapshot. Estimated cost per full refresh: ~$5–10 (web search at $10/1k searches × ~32 searches + token costs). Total time: ~3–5 minutes (sequential with 2s pacing).

Ready to refresh.
Loading culture tabs...

Brand Intelligence Refresh

Refresh all 15 brand categories (fashion, electronics, food, health, music, streaming, alcohol, sportsbook, comms, social, auto, video games, luxury, aviation & airlines, AI companies) in one pass. Each category returns 10–12 top brands with heat scores, briefs, and rep signals. Cost: ~$0.03 per full refresh. Members read from cache — they never trigger paid AI.

Ready to refresh.
Brand Cache Status
CategoryBrand CountCache StatusUpdatedAvg HeatActions
Loading brands...

City Briefs Refresh

Each brief is a 1-2 sentence editorial overview of the city's current scene state plus up to 5 dated "recent moves" (news, openings, exec moves, real estate shifts). Manual refresh only — no cron, no automatic refresh on city open. Members read from the cache; they never trigger paid AI.
AI refresh cost: ~$0.053 per city (web search billed at $10/1000 queries) · Bulk all-24: ~$1.27.

All Cities
City Current Brief Source Moves Last Updated Actions
Loading city briefs...
All Organizations
Org IDMembersTotal SalesTop RepActions
Loading orgs...
Rep Directory
RepEmailTerritoryBrandOrgRoleActions
Loading reps...
Create New Rep
Email *
Password *
Full Name
Territory
Brand Focus
Org ID
Role
Core Modules
AI Tools
Rep Suite Modules
Content Modules
System Announcement Banner
Message
Type
Featured Spotlight — Launch Pad
Shown at the top of the member dashboard (Launch Pad) for every signed-in member. Add one or more slides — they cross-fade and auto-rotate. Rotation pauses automatically while a member is playing a video (Vault MP4s) or hovering the card. Accepts YouTube, Vimeo, Loom, Wistia, direct .mp4/.webm, or image URLs — auto-detects type.
Rotate every (seconds)
Landing Gallery — "Made in Blackbook" reel (public site)
Curates the auto-scrolling member-work reel embedded on the public marketing site. Only what you add here is shown — nothing from members' private Vaults is ever exposed. Upload or pick images/video, add a credit line, publish. Embed URL: dexaintdead.github.io/cpd-showcase-embed/
Banner Admins — who can publish the Spotlight & Announcement
Add a member's ID to let them publish the Featured Spotlight and System Announcement WITHOUT giving them full admin. You (the platform owner) are always allowed.
Add member ID
 
Launch Throttle — daily credit caps for new members
Caps how many credits a member can BURN per rolling 24h until their purchases have cleared (Stripe paid you out) — so generation cost can't outrun your payouts during launch. New members ramp up automatically; you (admin) are never capped. Off by default; flip the switch when you're ready.
Payout window (days) — purchases older than this count as cleared
Tier 0 daily cap (new / uncleared)
Tier 1 daily cap
Reach Tier 1 after cleared credits
…OR account age (days)
Unlimited after cleared credits
…OR account age (days)
Per-member override (trusted members / VIPs)
Member ID
Custom cap (optional)
Runware spend velocity (how fast credits are burning)
Loading…
App Version & Update Control
Current Version
Min Required Version
Changelog Note
System Events
Loading activity...
Lead Database
ContactMemberStageValueUpdatedActions
Loading leads...
Unassigned
Loading…
Enforcement
Loading…
Trial length
While enforcement is off, trials are tracked but nobody is ever blocked — safe to leave running while you watch the numbers. Turning it on gates expired members behind the upgrade screen. Admins, subscribers, paid plans and overrides are never affected.
Lapsing soon (7 days) & expired
MemberStateDays leftActions
Loading…
Compose
✦ WRITE IT WITH CLAUDE
Audience
Unsubscribed addresses are always removed automatically. Every email is sent from contentpad.io with a one-click unsubscribe link.
Send
Type SEND to confirm the blast.
Recent sends
Loading…
Pending
Loading…
Sales (30d)
Active Members
Briefs Published
Activity Events (7d)
Recent Sales
MemberAmountPlanDate
Loading...
Recent Activity Events
Loading...
Total Credits Issued
Credits Used (30d)
Attack Credits Pool
Avg Credits / Member
Attack Credits by Member
MemberBalanceUsedLast UpdatedActions
Loading...
Credit Transactions
MemberTypeAmountBalance AfterDate
Loading...
Credit Balance by Plan
Total Deals
Sent
Partial
Fully Signed
Signed Value
Pending Value
Signed Deals (deal_documents)
DealClientOwnerValue ProgressStatusSentActions
Loading signed deals...
Shared Reports (legacy shared_reports)
TitleOwnerCollaboratorsStatusCreatedActions
Loading...
A&R Reports
Active Users
Shared Workspaces
A&R Shared Reports
TitleOwnerTypeCreatedActions
Loading...
Creator Reports
Active Creators
Shared Assets
Creator Shared Reports
TitleCreatorTypeCreatedActions
Loading...
Agency Members
Active Projects
Avg Projects/Member
Agency Member Accounts
NameEmailPlanAgency RoleJoinedActions
Loading...
Campaign Reports
Content Posts
Active Leads
Members Active
Campaign Reports
TitleMemberLeadsDateActions
Loading...
Content Posts
TitleAuthorStatusDateActions
Loading...
🎚 MEMBER INVITATIONS — SYSTEM WIDE
Loading…
Governs what ordinary members may do. Your own admin minting above is never affected by this switch.
Turning UNLIMITED off gives nobody a nasty surprise. A member's allowance is spent by minting codes, so an open month would normally drain everyone to zero. Codes made during an unlimited window are tracked separately and never touch the allowance — close the window and every member still holds exactly what they walked in with.
🎟 CREATE CAMPAIGN CODE
"First 10 people who use CODE get in" — mint a 10-use code, tag it with the ad campaign, put a timer on it. Assign it to a member and THEY get the recurring commission on every signup it brings.
USES
TIMER
HOW MANY CODES
CAMPAIGN TAG (stamped on every signup)
ASSIGN TO MEMBER (they earn the recurring commission)
ALL CODES
Loading codes…
MINT CODES
Generate one-time access codes to hand out. No limit for admins.
GRANT MEMBER INVITES
Raise how many invite codes a member can create.
MEMBER INVITE TIER
Recruiter — your salespeople: unlimited codes, never charged to their allowance.
Member — normal: their allowance governs codes.
No invites — this person cannot invite by either route.
Loading guides…
TITLE (what members ask — e.g. "How to organize the Vault")
CATEGORY
SUMMARY (one line)
CONTENT (the answer — numbered steps work great)
Worker Health & Endpoints
Checking endpoints...
Admin Commands
Sync Member Plan
POST /sync-member — updates attack_credits.plan + allowance
Member ID
Plan
Get Member Credits
GET /member-credits — returns plan, allowance, bonus, used, remaining
Member ID
Read Credit Rules
GET /credit-rules — shows what the Worker currently has for each plan
Raw Worker Request
Send any GET/POST to the Worker and see the raw response
Method
Endpoint
Body (JSON, POST only)
Daily Automation — Manual Triggers
These run the same generators the daily cron (0 8 * * *) fires automatically. Use them to regenerate on demand — for testing, or mid-day refreshes. No member credits (worker's own keys).
Generate Daily Brief
POST /admin/generate-daily-brief — web-grounded AI brief (web search → headline + body + 4 plays), writes the daily_brief row members read
Refresh Sports Plays
POST /admin/sports/generate-plays — four-lens AI plays from real live lines into sports_brief_cache. Refresh sports live data first if a league looks empty.
League
Command Log
No commands run yet. Use the panels above to send commands to the Worker.
Plan Health Monitor
Detect & repair members where studio_credits.plan or attack_credits.plan is out of sync with member_profiles.plan for the current month.
Total Drift
Studio mismatched
Attack mismatched
Missing studio rows
Studio Plan Mismatches
0
Run a check to populate.
Attack Plan Mismatches
0
Run a check to populate.
Missing Studio Rows (paid plans only)
0
Run a check to populate.
Raw API response
No check run yet.
Lucky 7 — Tom Auto-Add
MySpace-style: every member gets you as their first connection. New signups: automatic. Existing members: backfill below.
Click Dry Run first to see how many members would be affected without writing anything.
MEMBER
Loading profile...
ESC
PUSH TO FACT FINDER
SEND LEAD TO A MEMBER
Pick a member. This lead will land in their Fact Finder as a new contact, with the full story attached.
LEAD DETAIL
AI-RECOMMENDED PLAN
EMAIL
PHONE
ROLE
INDUSTRIES
TEAM SIZE
REVENUE
GOALS
REFERRER
OPT-INS
THEIR STORY
BLUEPRINT WE SHOWED THEM
Created
MANUAL OVERRIDE
ADD A REFERRAL CREDIT
Manually credit a member with a referral commission. Use this for missed attributions, retroactive credits, or off-platform conversions you want to honor.
COMMISSION TO BE CREDITED
$0.00
Pick a plan to calculate
REASSIGN REFERRAL
SWAP THE CREDITED MEMBER
Move this referral's credit from one member to another. The original referral row stays — just the recipient changes.
EDIT REFERRAL
UPDATE FIELDS
Edit the commission, status, or details of this referral. Changes are logged to activity log.