League Owner Onboarding System - Complete Implementation Guide
Overview
The League Owner Onboarding System is a comprehensive, progressive disclosure questionnaire that guides league owners through the process of joining AltSportsLeagues.ai. The system reduces cognitive load by showing only relevant questions based on previous answers and automatically handles data persistence, compliance scoring, contract generation, and pipeline tracking.
Architecture
System Components
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User Onboarding Flow β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β 1. Authentication β Firebase Auth β
β 2. Role Selection β Role Selection Screen β
β 3. Questionnaire β Progressive Disclosure Wizard β
β 4. Data Processing β Fingerprint + Embeddings β
β 5. Contract Gen β MSA, Term Sheet, Tech Specs β
β 6. Pipeline Entry β JIRA Card + Google Sheet β
β 7. Dashboard β League NotebookLLM β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββProgressive Disclosure Pattern
Why Progressive Disclosure?
Traditional forms overwhelm users with all questions at once. Our system:
- Shows only relevant questions based on previous answers
- Breaks down complex forms into digestible steps
- Provides contextual help when needed
- Auto-saves progress every 30 seconds
- Allows navigation back to previous steps
Example: Sport Selection Flow
User selects "Combat Sports" β
System shows: Boxing, MMA, Wrestling, etc.
User selects "Other" β
System shows: Custom sport name + description fieldsKey Features
1. Role-Based Onboarding
Different user roles get different onboarding experiences:
- League Owner: Comprehensive questionnaire (10 steps)
- Trader: Quick setup (preferences only)
- Sportsbook Operator: Integration preferences
- Others: Simple welcome screen
2. Auto-Save & Resume
- Progress saved every 30 seconds
- User can close and resume later
- All data persisted in Firebase
- Current step tracked
3. League Fingerprinting
Every league gets a unique "fingerprint" used for:
- Similarity matching: Find similar leagues
- Compliance scoring: Calculate readiness
- Value estimation: Predict partnership value
- Embedding generation: Enable semantic search
4. Multi-Database Architecture
Data is stored in multiple systems for different purposes:
Firebase Firestore
- User profiles
- Questionnaire responses
- Progress tracking
- Real-time updates
Supabase PostgreSQL
- Structured relational data
- Advanced queries and analytics
- Row-level security
- pgvector for similarity search
Atlassian JIRA
- Pipeline tracking (LO project)
- Task management
- Contract attachments
- Team collaboration
5. Automated Contract Generation
When questionnaire completes, system generates:
- Master Services Agreement (MSA) - PDF format
- Term Sheet - Markdown + PDF
- Technical Specifications - JSON format
- Contract Terms - JSON for programmatic access
6. JIRA Pipeline Integration
For betting-interested leagues, creates a JIRA card with:
- League summary and contact info
- Compliance scores
- Tier recommendation
- Attached documents:
- Google Sheet (valuation model)
- Contract PDF
- Contract JSON
Database Schema
Supabase Tables
league_questionnaires
CREATE TABLE league_questionnaires (
id TEXT PRIMARY KEY,
user_id TEXT NOT NULL,
league_name TEXT NOT NULL,
-- Core fields...
answers_json JSONB NOT NULL,
created_at TIMESTAMP,
updated_at TIMESTAMP
);league_fingerprints
CREATE TABLE league_fingerprints (
league_id TEXT PRIMARY KEY,
sport_category TEXT,
sport_name TEXT,
market_size TEXT,
professional_level TEXT,
-- Metrics...
embedding vector(26), -- pgvector for similarity
created_at TIMESTAMP
);compliance_status
CREATE TABLE compliance_status (
league_id TEXT,
sportsbook_id TEXT,
requirements JSONB,
overall_compliance INTEGER,
status TEXT,
PRIMARY KEY (league_id, sportsbook_id)
);Pipeline Stages
The system tracks leagues through 10 pipeline stages:
- inbound - Initial submission
- qualification - Reviewing fit
- contract_sent - MSA delivered
- contract_signed - Agreement executed
- onboarding - Technical setup
- integration - API connections
- testing - Quality assurance
- live - Production active
- monitoring - Ongoing support
- archived - Inactive/closed
Tier System
Leagues are classified into tiers based on:
- Market size
- Professional level
- Compliance score
- Data quality
- Betting interest
Tiers: Tier 1 (Premium), Tier 2 (Standard), Tier 3 (Basic)
Security
- Firebase security rules for Firestore
- Supabase RLS policies
- API endpoint authentication
- File upload validation
- Environment variable protection
Testing Strategy
- Unit tests for utilities
- Integration tests for API routes
- E2E tests for user flows
- Contract generation tests
- Fingerprint accuracy tests
Future Enhancements
- Multi-language support
- Advanced analytics dashboard
- Automated follow-up emails
- Integration with CRM systems
- Mobile app support
For quick setup instructions, see the Onboarding Quick Start Guide.