Client Applications
AltSportsLeagues.ai provides a comprehensive suite of client applications built for different user personas and use cases. From AI-powered chat interfaces to specialized sports betting platforms, our applications deliver intelligent sports business intelligence through modern, responsive user interfaces.
Application Architecture
Application Categories
AI-Powered Chat Interfaces
Primary Purpose: Natural language interaction with sports intelligence Key Features: Conversational AI, real-time insights, multi-sport analysis
Grok Chat Interface (frontend-001-nextjs-ui-grok-chat)
Port: 3002 | Status: β Production Ready
Advanced AI chat interface powered by Grok, providing intelligent sports analysis and betting insights.
Capabilities:
- Natural Language Queries: Ask questions in plain English
- Real-time Sports Intelligence: Live game analysis and predictions
- Multi-sport Support: Football, basketball, soccer, tennis, and more
- Betting Insights: Odds analysis and betting recommendations
- Credit System: Usage tracking and billing integration
Key Components:
- Streaming chat interface with real-time responses
- Sports-specific query understanding
- Integration with backend AI services
- User authentication and session management
Backend Integration:
// AI-powered chat endpoint
const response = await apiClient.querySportsIntelligence({
query: "What's trending in NBA betting?",
user_id: "user-123",
stream: true
});Advanced Graph Analytics (frontend-001-nextjs-ui-grok-chat-advanced-graph)
Port: 3000 | Status: β Ready for Deployment
Enhanced chat interface with advanced graph analytics and Neo4j integration.
Advanced Features:
- Graph Database Integration: Neo4j-powered relationship analysis
- League Opportunity Mapping: Visual relationship graphs
- Advanced Query Processing: Complex multi-hop queries
- Interactive Visualizations: Graph-based insights display
Betting Market Platforms
Primary Purpose: Sports betting interfaces and market analysis Key Features: Real-time odds, betting interfaces, market analysis
Polymarket Micro Betting (frontend-001-nextjs-ui-market-polymarket-micro-betting)
Port: 3016 | Status: β³ Ready for Integration
Polymarket-inspired micro-betting platform for alternative sports markets.
Features:
- Micro-betting Markets: Small stake, high frequency betting
- Real-time Odds: Live odds updates and market movements
- Prediction Markets: User-generated prediction markets
- Portfolio Management: Track betting performance and history
Market Types:
- Game outcomes (win/loss/draw)
- Player statistics (points, assists, etc.)
- Tournament results
- Seasonal achievements
Underdog Casino Game (frontend-001-nextjs-ui-underdog-market-casino-game)
Port: 3016 | Status: β³ Ready for Integration
Casino-style betting interface with underdog market focus.
Game Features:
- Slot Machine Mechanics: Probability-based betting games
- Underdog Specialties: Focus on value bets and longshots
- Progressive Jackpots: Large prize pools for rare outcomes
- Live Dealer Integration: Real-time dealer interactions
League Management Portals
Primary Purpose: League owner and operator management interfaces Key Features: League onboarding, contract management, analytics
League Owner Portal (frontend-001-nextjs-league-owner-portal)
Port: 3210 | Status: β³ Ready for Integration
Comprehensive league management dashboard for league owners and operators.
Key Modules:
- League Profile Management: Update league information and branding
- Partnership Pipeline: Track partnership opportunities and status
- Contract Management: View and manage active contracts
- Analytics Dashboard: League performance and engagement metrics
- Document Library: Access to contracts, agreements, and legal documents
User Roles:
- League Owners: Full access to league management
- League Staff: Limited access to specific functions
- Partnership Managers: Access to partnership-related features
League Notebook LLM (frontend-001-nextjs-portal-league-notebook-llm-owner-self-onboarding)
Port: 3210 | Status: β³ Ready for Integration
AI-powered league onboarding and management system with LLM integration.
AI Features:
- Intelligent Onboarding: AI-guided league setup process
- Automated Documentation: Generate league profiles and marketing materials
- Smart Recommendations: AI-powered partnership and growth suggestions
- Natural Language Processing: Voice and text-based league management
Analytics and Business Intelligence
Primary Purpose: Data analysis and business intelligence dashboards Key Features: Advanced analytics, reporting, data visualization
Unified Business Intelligence Hub (frontend-001-nextjs-unified-business-intelligence-hub)
Port: Varies | Status: β³ Ready for Integration
Comprehensive business intelligence platform for sports operators.
Dashboard Modules:
- Revenue Analytics: Track revenue across all partnerships
- Market Analysis: Analyze betting market trends and opportunities
- League Performance: Monitor league engagement and growth metrics
- Risk Management: Identify and mitigate partnership risks
- Competitive Intelligence: Track competitor activities and market share
Data Sources:
- Partnership database
- Betting market data
- League performance metrics
- Financial reporting data
- Competitive intelligence feeds
Player Stats Analytics (frontend-001-nextjs-ui-market-large-field-player-stats-yahoo-football-wsl)
Port: 3015 | Status: β³ Ready for Integration
Advanced player statistics and analytics platform.
Analytics Features:
- Player Performance Tracking: Comprehensive player statistics
- Advanced Metrics: Custom performance calculations and rankings
- Historical Analysis: Long-term player performance trends
- Comparative Analysis: Player comparisons across leagues and seasons
Specialized Applications
Contract Builder Studio (frontend-001-nextjs-ui-ai-tool-contract-builder-studio)
Port: 3000 | Status: β³ Ready for Integration
AI-powered contract generation and management tool.
Contract Features:
- AI Contract Generation: Automatically generate partnership contracts
- Template Management: Customizable contract templates
- Legal Compliance: Ensure contracts meet regulatory requirements
- Version Control: Track contract changes and approvals
Dynamic Game Maker (frontend-001-nextjs-dynamic-sport-game-maker)
Port: 3017 | Status: β³ Ready for Integration
Interactive game creation platform for custom betting experiences.
Game Creation Features:
- Visual Game Builder: Drag-and-drop game creation interface
- Custom Rules Engine: Define complex betting rules and conditions
- Real-time Testing: Test games before deployment
- Market Integration: Connect games to live betting markets
Streamlit Applications
League Questionnaire to Contract (streamlit-001-league-questionnaire-to-contract)
Purpose: Rapid prototyping and testing of league onboarding workflows Status: β Functional | Port: 8501
Streamlit-based application for testing the complete league onboarding pipeline.
Features:
- PDF Upload: Upload league questionnaire PDFs
- OCR Processing: Extract text from uploaded documents
- Data Validation: Validate extracted data against schemas
- Contract Generation: Generate partnership contracts
- Real-time Processing: See results immediately
Usage:
cd clients/streamlit-001-league-questionnaire-to-contract-uses-endpoint
streamlit run main.pyIntelligent Pipeline UI (streamlit-002-intelligent-pipeline-ui)
Purpose: Visual interface for the intelligent partnership pipeline Status: β³ In Development | Port: 8502
Advanced Streamlit application with full pipeline visualization.
Planned Features:
- Pipeline Visualization: See the complete partnership process
- Real-time Status: Monitor pipeline progress and bottlenecks
- Interactive Controls: Manually intervene in pipeline steps
- Analytics Dashboard: Pipeline performance metrics
API Client Libraries
Python API Client
Location: clients/cli/
Purpose: Command-line interface and Python SDK for backend APIs
Features:
- Full API Coverage: Access to all backend endpoints
- Authentication: JWT and API key support
- Batch Operations: Bulk data processing capabilities
- Error Handling: Comprehensive error handling and retries
Usage:
from clients.cli.api_client import AltSportsAPI
client = AltSportsAPI(api_key="your-key")
result = client.query_sports_intelligence("NBA trends today")TypeScript API Client
Location: clients/types/
Purpose: Type-safe TypeScript client for frontend applications
Features:
- Full Type Safety: TypeScript interfaces for all API responses
- Auto-completion: IDE support with full type information
- Error Handling: Type-safe error responses
- Caching: Built-in response caching and invalidation
Usage:
import { AltSportsAPI } from '@/lib/api-client';
const api = new AltSportsAPI();
const result = await api.sportsIntelligence.query({
query: "NFL betting opportunities",
userId: "user-123"
});Mobile Applications
React Native Mobile App (Planned)
Platform: iOS, Android Purpose: Mobile access to sports intelligence and betting features
Planned Features:
- Mobile-Optimized Chat: Touch-friendly chat interface
- Push Notifications: Real-time alerts for important events
- Offline Mode: Core functionality without internet connection
- Biometric Authentication: Secure login with fingerprint/face ID
Progressive Web App (PWA)
Technology: Next.js PWA Purpose: Installable web application with native app features
PWA Features:
- App-like Experience: Install on desktop and mobile
- Offline Capability: Core features work offline
- Push Notifications: Browser-based notifications
- Background Sync: Data synchronization when online
Application Deployment
Development Environment
Local Development Setup:
# Start backend
cd apps/backend && python server.py
# Start specific frontend
cd clients/frontend-001-nextjs-ui-grok-chat
cp .env.sample .env.local
npm install && npm run devMulti-Frontend Development:
# Start all frontends (requires tmux/screen)
./clients/start-all-frontends-locally.sh
# Or start individual frontends on different ports
cd clients/frontend-001-nextjs-ui-grok-chat && PORT=3002 npm run dev
cd clients/frontend-001-nextjs-league-owner-portal && PORT=3210 npm run devProduction Deployment
Vercel Deployment:
# Deploy to Vercel
cd clients/frontend-001-nextjs-ui-grok-chat
vercel --prod
# Environment variables required:
# NEXT_PUBLIC_API_URL=https://your-backend-url
# NEXTAUTH_SECRET=your-secret
# NEXTAUTH_URL=https://your-frontend-urlDocker Deployment:
# Build and deploy with Docker
docker build -t altsports-frontend .
docker run -p 3000:3000 altsports-frontendCloud Run Deployment:
# Deploy to Google Cloud Run
gcloud run deploy frontend \
--source . \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars "API_URL=https://backend-url"Testing and Quality Assurance
Automated Testing
Frontend Testing:
# Run tests for specific frontend
cd clients/frontend-001-nextjs-ui-grok-chat
npm run test
npm run test:e2e # End-to-end testsMulti-Frontend Testing:
# Test all frontends
./clients/test-all-frontends.sh
# Lint all frontends
./clients/lint-all-frontends.shPerformance Monitoring
Core Web Vitals:
- LCP (Largest Contentful Paint): < 2.5 seconds
- FID (First Input Delay): < 100 milliseconds
- CLS (Cumulative Layout Shift): < 0.1
Application Metrics:
- Time to Interactive: < 3 seconds
- Bundle Size: < 500KB (initial), < 200KB (subsequent)
- API Response Time: < 500ms (average)
Development Guidelines
Code Organization
File Structure:
frontend-xxx/
βββ app/ # Next.js app router
β βββ api/ # API routes
β βββ (auth)/ # Route groups
β βββ globals.css # Global styles
βββ components/ # Reusable components
β βββ ui/ # Shadcn/ui components
β βββ specific/ # App-specific components
βββ lib/ # Utilities and configurations
β βββ api-client.ts # Backend API client
β βββ utils.ts # Helper functions
β βββ validations.ts # Form validations
βββ hooks/ # Custom React hooks
βββ types/ # TypeScript type definitions
βββ public/ # Static assetsComponent Patterns
API Integration:
// Custom hook for API calls
function useSportsIntelligence() {
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
const query = useCallback(async (query: string) => {
setLoading(true);
try {
const result = await apiClient.querySportsIntelligence({ query });
return result;
} catch (err) {
setError(err);
throw err;
} finally {
setLoading(false);
}
}, []);
return { query, loading, error };
}State Management:
// Zustand store pattern
interface AppState {
user: User | null;
credits: number;
setUser: (user: User) => void;
updateCredits: (credits: number) => void;
}
export const useAppStore = create<AppState>((set) => ({
user: null,
credits: 0,
setUser: (user) => set({ user }),
updateCredits: (credits) => set({ credits }),
}));Styling Guidelines
Tailwind CSS Patterns:
// Component-specific styles
const Button = ({ variant, size, children }) => {
const baseStyles = "font-medium rounded-md transition-colors";
const variants = {
primary: "bg-blue-600 text-white hover:bg-blue-700",
secondary: "bg-gray-200 text-gray-900 hover:bg-gray-300",
};
const sizes = {
sm: "px-3 py-1.5 text-sm",
md: "px-4 py-2 text-base",
lg: "px-6 py-3 text-lg",
};
return (
<button className={`${baseStyles} ${variants[variant]} ${sizes[size]}`}>
{children}
</button>
);
};Security Considerations
Authentication & Authorization
NextAuth.js Integration:
// Authentication configuration
export const authOptions: NextAuthOptions = {
providers: [
GoogleProvider({
clientId: process.env.GOOGLE_CLIENT_ID!,
clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
}),
],
callbacks: {
async jwt({ token, user }) {
if (user) {
token.id = user.id;
}
return token;
},
async session({ session, token }) {
if (token.id) {
session.user.id = token.id;
}
return session;
},
},
};API Security
Request Validation:
// API route protection
export async function POST(request: Request) {
try {
const body = await request.json();
// Validate request body
const validatedData = leagueQuestionnaireSchema.parse(body);
// Check authentication
const session = await getServerSession(authOptions);
if (!session) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
}
// Process request
const result = await processLeagueApplication(validatedData);
return NextResponse.json(result);
} catch (error) {
console.error('API Error:', error);
return NextResponse.json(
{ error: 'Internal server error' },
{ status: 500 }
);
}
}Performance Optimization
Frontend Optimization
Code Splitting:
// Dynamic imports for route-based code splitting
const AnalyticsPage = dynamic(() => import('../pages/analytics'), {
loading: () => <div>Loading analytics...</div>,
});Image Optimization:
// Next.js Image component for automatic optimization
import Image from 'next/image';
<Image
src="/hero-image.jpg"
alt="Sports Analytics Dashboard"
width={800}
height={400}
priority // Above the fold images
placeholder="blur" // Blur placeholder while loading
/>Caching Strategies
API Response Caching:
// React Query for client-side caching
const { data, isLoading } = useQuery({
queryKey: ['sports-intelligence', query],
queryFn: () => apiClient.querySportsIntelligence({ query }),
staleTime: 5 * 60 * 1000, // 5 minutes
cacheTime: 10 * 60 * 1000, // 10 minutes
});Static Asset Caching:
// next.config.js caching headers
module.exports = {
async headers() {
return [
{
source: '/api/(.*)',
headers: [
{ key: 'Cache-Control', value: 'public, max-age=300' },
],
},
];
},
};Application Status Overview
| Application | Type | Status | Key Features | Port |
|---|---|---|---|---|
| Grok Chat | Next.js | β Production | AI chat, streaming, credits | 3002 |
| Polymarket Betting | Next.js | β³ Ready | Micro-betting, real-time odds | 3016 |
| League Owner Portal | Next.js | β³ Ready | Management dashboard, contracts | 3210 |
| Business Intelligence | Next.js | β³ Ready | Analytics, reporting, insights | Varies |
| Player Stats | Next.js | β³ Ready | Advanced analytics, comparisons | 3015 |
| Contract Builder | Next.js | β³ Ready | AI contract generation | 3000 |
| Streamlit Pipeline | Streamlit | β Functional | Pipeline testing, prototyping | 8501 |
Total Applications: 9+ Next.js, 2+ Streamlit Production Ready: 1 (Grok Chat) Ready for Integration: 6 Total Estimated Value: $1.225M - $2.45M ARR pipeline across all applications
This comprehensive application suite provides AltSportsLeagues.ai users with intelligent, AI-powered interfaces for every aspect of sports business intelligence and partnership management.