Skip to content

Campaign dashboard

Database-backed

Manage your fundraiser.

Configure campaign details, review card economics, preview prize payouts, and prepare the fundraiser for launch.

Active workspace

Demo Youth Football Club

Gross raised

$520

Based on current card price and count.

Group keeps

$364

Previewed from revenue split settings.

Prize pool

$52

Winner split preview stays read-only.

Database-backed campaign

This dashboard is reading campaign state from PostgreSQL.

Group setup preview

Review package, support path, discovery, and campaign-rule setup controls.

Opens a read-only internal demo for fundraiser identity, package tiers, direct donation, sponsor, merch, Share Hub/QR readiness, visibility, lock timing, and admin safety boundaries.

Open setup preview

Demo lifecycle status

Weekly simulation readiness.

Internal view of the canonical test campaign, 2025 demo scoring source, active test card, finalized weekly snapshots, and reset/simulation state.

Lifecycle unavailable

Campaign

2026-youth-football-kickoff

Not loaded

Active test card

FAN8K29RQ7

Canonical internal QA card

Finalized weeks

0

Total: 0.0

Scoring source

2025

Completed demo data

Open test card View finalized leaderboard
Reset and week-end simulation controls remain on the gated test card page.

Support visibility

Roster Action Audit Snapshot.

Read-only staff view of card identity, lock state, roster counts, Swap Player events, and Market Swap counters for the production reference/action-test cards.

No writes. No production action.

Locked reference card

FANV9FBAB012

Expected no saved production action testing.

Locked No saved actions

Campaign

demo-2025-football

Status: open_for_sales_and_claims

Lock state

Locked

Deadline: 2026-05-23 11:20:44.647Z

Roster slots

15

Active Lineup

9

Bench

6

Market Swap allowance

Not live / disabled

Used 0 of 0

Paid Market Swap is not live from this admin view.

Legacy swap counter warning

0 used / 1 limit

Legacy only. Not Swap Player allowance.

Swap Player / Market Swap events

0

No latest event for this card.

Production caveat: this card remains the locked Swap Player and Market Swap reference. Keep saved production action testing closed for this card unless Product explicitly approves a different future state.

Unlocked staff/test target

FANUNLOCKEDTEST01

One documented production CARD_LEVEL_SWAP exists.

Unlocked Action recorded

Campaign

roster-action-test-2026

Status: open_for_sales_and_claims

Lock state

Unlocked before lock

Deadline: 2026-07-04 07:38:21.849Z

Roster slots

15

Active Lineup

9

Bench

6

Market Swap allowance

Not live / disabled

Used 0 of 0

Paid Market Swap is not live from this admin view.

Legacy swap counter warning

1 used / 1 limit

Legacy only. Not Swap Player allowance.

Swap Player / Market Swap events

6

CARD_LEVEL_SWAP

Slots: RB1 / BENCH2

Actor: chad@nydesigns.com

Created: 2026-06-05 09:06:19.740Z

Production caveat: this card has one CARD_LEVEL_SWAP event, QB / BENCH1, actor chad@nydesigns.com, created at 2026-06-05 02:06:28 UTC. No further production swap is approved. Legacy swap_count_used=1 is contaminated by the old deployed code path and is not current Swap Player allowance behavior.

Internal writer proof passed

Session-owned gameplay records can now be created through a gated internal script.

The first isolated demo session created one group, one campaign, one card, one lineup, fourteen lineup slots, one included Market Swap entitlement, and nineteen metadata links. This is still not exposed as public self-serve creation.

View proof session

Card

DEMOATE0010101

Scoring source

2025 demo data

Prize eligibility

Disabled

Public creation

Disabled

Public demo readiness

Internal canonical demo is active. Public self-serve demo is pending isolation.

Visitors should not create or mutate shared demo records until public demo sessions have their own session-owned campaigns, cards, weekly state, and leaderboard.

Current mode: internal canonical demo

Ready now

  • ✓ Internal test card workflow
  • ✓ Weekly simulation and reset
  • ✓ Finalized leaderboard scoring
  • ✓ 2025 deterministic demo scoring source

Required before public demo launch

  • • demo_sessions isolation
  • • session-owned cards and card codes
  • • session-owned leaderboard state
  • • reset/expiration cleanup
  • • public rate limiting and abuse controls

Gameplay session dry run

Preview session-owned gameplay records before any writer exists.

This preview returns planned group, campaign, card, lineup, lineup slots, entitlement, and metadata records. It performs no database writes.

Open dry-run API status

Mode

Dry-run only

Writes

Disabled

Plan records

19 metadata links

Scoring source

2025 demo data

Group Setup

Organization and contact profile

Group, campaign, and primary contact details for this fundraiser.

$

Preview mode: this button prepares a setup link message without sending email.

Enter an email address to prepare the setup link.

Package

Card package

Card price and package size.

$

Revenue Split

Revenue allocation

Group keep and platform keep shares.

Package Rules

Market Swap package settings

Configure Market Swap allowance intent, future purchase placeholders, revenue split, and fixed prize defaults for this package.

Package rules are synced to campaign package settings.

$
$
$
$
$
$

Prize Settings

Prize pool controls

Prize pool share, matching, and cap controls.

$

Enter dollars. Values are stored as cents for accurate calculations.

Scoring Data

Scoring data source

Scoring window and historical data source settings.

Default from config: 2 weeks

Preview changes are saved in this browser.

Organizer Services

Campaign tools and roster services

Organizer tools, Swap Player settings, Market Swap package rules, and reset controls are available from the same FanSports workspace.

ReadyCampaign workspace services

API routes

Swap Player
Market Swap preview
Market Swap availability
Future Market Swap purchase placeholder
Package rules
Card reset tools

Campaign Operations

Reset Sample Card 001

Restores the presentation card to its clean baseline: 3 future Market Swap allowance slots, no paid Market Swap entitlements, no Swap Player or Market Swap history, and the default weekly lineup.

Sample card reset is available for campaign walkthrough prep.

Financial details Tap to open

1st place

$26

2nd place

$16

3rd place

$10

Platform keeps

$104

Platform match

$0