|

External dashboards

Give an LLM the Sportsbook dashboard skill to adapt the built-in operator experience or create a separate client.

To create a custom Sportsbook dashboard, copy the skill and give it to your LLM. The skill will explain how features/dashboard supplies the Keystone administration shell while features/platform contains Sportsbook's product-specific operator experience.

After that source orientation, it will ask what you dislike, what should stay, what workflows and users matter, and what the replacement should look and feel like. It then traces the exact routes, feature slices, GraphQL calls, schema, access rules, sessions, and provider boundaries in the supplied Sportsbook codebase before proposing work.

Skill file: /skills/openfront-sportsbook-custom-dashboard/SKILL.md

Current platform pages

Routes are app/dashboard/(admin)/platform/<route>/page.tsx; slices are features/platform/<slice>. Most actions need operator two-factor assurance, and sensitive ones go through the Approval inbox.

PageWhat operators do there
/dashboard/platformControl room: today's queues, exceptions, exposure, latest wagers, and shortcuts into each workflow
/dashboard/platform/onboardingPreview and apply sandbox setup, resume a partial setup, see stage progress (needs MFA)
/dashboard/platform/catalog, /eventsCreate events with a first market and browse the catalog (/events renders the same screen)
/dashboard/platform/catalog/[eventId], /events/[eventId]Event detail: participants, schedule history, venue, season, stage, markets; add markets, reschedule
/dashboard/platform/catalog/referenceSports, competitions, seasons, stages, venues, competitors: create, activate, deactivate
/dashboard/platform/trading, /trading/[marketId], /markets/[marketId]Market status and prices; set prices, open, suspend, close; event trading state; trader overrides; status history
/dashboard/platform/wagers, /[wagerId]Look up wagers, accepted terms, acceptance decisions, cash-out offers, exposure, tax; open an investigation
/dashboard/platform/riskExposure, limit profiles and rules, correlation rules (request and apply)
/dashboard/platform/resultsEnter results, send for approval, withdraw, approve after an independent decision
/dashboard/platform/gradingGrade selections from approved results
/dashboard/platform/settlements, /[wagerId]Settlement runs; settle, resettle, and correct cash-outs under dual control
/dashboard/platform/customers, /[playerId]Players: verification, AML, restrictions, consents, statements, sessions, devices, closures, notifications
/dashboard/platform/complianceVerification, AML screening, location, affordability, privacy requests, integrity cases
/dashboard/platform/responsible-gamingPlayer limits, cool-offs, self-exclusions
/dashboard/platform/closuresAccount closure requests and their blockers (read-only)
/dashboard/platform/support, /[caseId]Support cases and disputes; status changes, dispute resolution proposals, dispute timeline
/dashboard/platform/notificationsMessages sent to customers and staff (read-only)
/dashboard/platform/finance and its detail routesJournals, payments, adjustments; sandbox deposits and withdrawals, chargebacks, ledger adjustments
/dashboard/platform/finance/reconciliation and run, item, safeguarding detailReconciliation runs and items, safeguarding reconciliation
/dashboard/platform/finance/taxTax rules and assessments on settled wagers
/dashboard/platform/promotions, /[promotionId]Create campaigns, request and apply activation; rule versions, budget, redemptions, awards
/dashboard/platform/providersProvider health, certification runs, trading replays, operational state
/dashboard/platform/integrations, /[connectionId], /inbox, /webhooks, /dlqProvider connections, inbound messages, webhook endpoints and deliveries, dead letters, replay
/dashboard/platform/recoveryBackground jobs, worker heartbeats, retry stuck work
/dashboard/platform/incidentsOpen, mitigate, and resolve incidents
/dashboard/platform/reportsCompliance reports, data exports, retention dry runs and executions
/dashboard/platform/configuration, /configuration/jurisdictionsChannels, currencies, locales, house rules, feature flags, effective policy values; legal entities and jurisdictions
/dashboard/platform/settingsStore branding (name, logo icon, color) and typed setting changes
/dashboard/platform/rolesRoles, grants, revocations, operator admission, independent approver bootstrap
/dashboard/platform/securityEnrol and verify operator two-factor
/dashboard/platform/approvalsApprove or reject other operators' requests
/dashboard/platform/audit, /[auditId]Hash-chained audit events, chain check, anchors

Lists without a dedicated page are shown on the generic /dashboard/<list-key> pages. Most Sportsbook lists hide create and delete there, so those pages are for reading.

On this page