Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

29 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ๏ธ F1 Race Predictor

Modern Formula 1 race outcome prediction using machine learning with a React TypeScript frontend and intelligent prediction system

React TypeScript Python FastAPI scikit-learn License

๐Ÿ Overview

F1 Race Predictor is a comprehensive machine learning application that predicts Formula 1 race outcomes using advanced algorithms and real-world racing data. The system features a modern React TypeScript frontend with F1-themed design and intelligent prediction algorithms powered by both machine learning and optimized JavaScript logic.

Tech Stack

TechStack

โœจ Key Features

  • ๐Ÿง  Advanced ML Training: Python-based model training with scikit-learn, pandas, and numpy
  • ๐Ÿš€ Modern API: FastAPI with automatic documentation and async support
  • ๐ŸŒฆ๏ธ Weather Integration: Dry, wet, and mixed conditions modeling
  • ๐ŸŽ๏ธ Interactive Grid Setup: Configure starting positions and pit lane starts
  • ๐Ÿ“Š Real-time Results: Live prediction updates with win probabilities
  • โš›๏ธ Modern Frontend: React TypeScript with F1 theming and checkered flag design
  • ๐ŸŽฎ Fantasy F1 Mode: Budget-based team builder (coming soon)
  • ๐Ÿ“ฑ Responsive Design: Works seamlessly on desktop and mobile
  • ๐Ÿ† 2025 Season Ready: Updated with current teams and drivers

๐Ÿ—๏ธ Architecture Overview

Dual-Architecture System

This project uses a dual-architecture approach optimizing for both accuracy and deployment efficiency:

graph TD
    A[Historical F1 Data] --> B[Python ML Training]
    B --> C[Trained Models .pkl]
    B --> D[Insights & Patterns]
    D --> E[JavaScript Prediction Logic]
    E --> F[Vercel Serverless Deployment]
    C --> G[Local FastAPI]
    F --> H[Production App]
    G --> I[Development/Testing]
Loading

๐Ÿ Training Architecture (Python)

๐Ÿ“Š Data Processing โ†’ ๐Ÿง  ML Training โ†’ ๐Ÿ’พ Model Storage
  • Python 3.8+ with scientific computing stack
  • pandas for data manipulation and analysis
  • scikit-learn for machine learning algorithms
  • numpy for numerical computations
  • FastAPI for modern API development with automatic docs
  • Trained Models: Position regression, win probability, podium prediction
  • Output: .pkl files with trained models + insights

๐Ÿš€ Deployment Architecture (JavaScript)

๐ŸŒ Serverless โ†’ โšก Fast Predictions โ†’ ๐Ÿ“ฑ User Interface
  • JavaScript/TypeScript prediction logic
  • Vercel Serverless Functions for API endpoints
  • Optimized algorithms based on ML insights
  • No cold starts or model loading delays
  • Instant predictions with <100ms response times

๐Ÿง  Machine Learning Pipeline

Training Phase (Local Development)

Location: backend/ directory Purpose: Develop and train ML models on comprehensive F1 datasets

# Training workflow
cd backend
python train_enhanced_model.py  # Train models on historical data
uvicorn main:app --reload        # Test with FastAPI

Training Features:

  • ๐Ÿ“ˆ Dataset: 75+ years of F1 race results (1950-2025)
  • ๐Ÿ”ฌ Algorithms: Random Forest, Gradient Boosting
  • ๐Ÿ“Š Features: 20+ enhanced variables including:
    • Driver experience and recent form
    • Constructor competitiveness
    • Circuit characteristics
    • Weather conditions
    • Tire strategies
  • ๐Ÿ’พ Output: Serialized .pkl models for position, podium, and win predictions

Training Data Sources:

# Enhanced features generated during training
enhanced_features = [
    'grid', 'constructor_encoded', 'circuit_encoded', 'driver_encoded', 
    'weather_encoded', 'tire_strategy_encoded', 'temperature', 'humidity',
    'wind_speed', 'track_temp', 'driver_experience', 'recent_form',
    'quali_gap_to_teammate', 'constructor_standing', 'budget_efficiency',
    'circuit_type_encoded', 'drs_zones', 'lap_length', 'safety_car_laps',
    'avg_pit_time'
]

Deployment Phase (Production)

Location: api/ directory (Vercel serverless functions) Purpose: Fast, scalable predictions without ML model overhead

// Optimized prediction logic derived from ML insights
const prediction = await fetch('/api/predict', {
  method: 'POST',
  body: JSON.stringify({
    circuit: 'Monaco Circuit',
    weather: 'Dry',
    entries: [...]
  })
});

Deployment Features:

  • โšก Performance: Sub-100ms prediction times
  • ๐Ÿ“ฑ Scalability: Serverless auto-scaling
  • ๐Ÿ’ฐ Cost-Effective: No GPU/compute requirements
  • ๐Ÿ”„ Real-time: Instant updates based on user input
  • ๐ŸŒ Global: CDN-distributed for worldwide access

๐Ÿ”„ Training vs Deployment Workflow

Phase 1: ML Training & Analysis

# 1. Data Collection
python fetch_data.py              # Historical F1 data (1950-2025)

# 2. Model Training  
python train_enhanced_model.py    # Train ML models
# Output: Enhanced models with 2025 season data
# - Position prediction (RMSE: ~2.3)
# - Win probability (Accuracy: ~85%)
# - Podium prediction (Accuracy: ~78%)

# 3. Local Testing
uvicorn main:app --reload         # FastAPI with .pkl models at localhost:8000

Phase 2: Insights Translation

The trained models reveal key patterns that are then encoded into optimized JavaScript:

# ML Training Insights (Python)
oscar_piastri_performance = {
    'experience': 3, 'form': 1.2,  # Championship leader
    'win_factor': 1.35             # 8 wins in 2025
}
// Translated to JavaScript (Deployment)
'Oscar Piastri': { 
  experience: 3, form: 1.2, winFactor: 1.35 
}

Phase 3: Production Deployment

# Frontend + API deployment
cd frontend
npm run build
vercel deploy --prod              # Deploys both frontend and API

๐ŸŽฏ Application Features

๐Ÿ  Homepage

  • F1 introduction and rules explanation
  • Historical statistics and championship data
  • Checkered flag background with F1 branding
  • Educational content about Formula 1

๐ŸŽ๏ธ Current Season (2025 Teams)

  • Interactive team browser with all 10 F1 teams
  • Detailed team information (principal, base, championships)
  • Driver cards with current 2025 lineup
  • Team logos and color schemes
  • Fixed: Sidebar scroll preservation on team selection

๐Ÿ”ฎ Prediction Interface

  • Complete race setup with circuit and weather selection
  • Interactive grid configuration (20 positions + pit lane)
  • Driver status management (Racing/Pit Lane/Not Racing)
  • Real-time prediction results with win probabilities
  • Tire strategy recommendations
  • Enhanced: Data persistence across page refreshes

๐ŸŽฎ Fantasy Mode

  • Budget-constrained team building
  • Driver valuations based on performance
  • Team cost tracking and validation

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 16+ and npm 8+
  • Python 3.8+ (for ML training only)

Production Deployment (JavaScript API)

# 1. Clone and setup frontend
git clone https://github.com/AnishKajan/f1-race-predictor.git
cd f1-race-predictor/frontend
npm install

# 2. Deploy to Vercel (includes API)
npm run build
npx vercel --prod

# โœ… Ready! JavaScript-based predictions live

ML Development Setup (Python Training)

# 1. Setup Python environment
cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 2. Install ML dependencies
pip install fastapi uvicorn pandas scikit-learn joblib numpy requests python-dotenv

# 3. Train models with latest data
python train_enhanced_model.py

# 4. Test locally (optional)
uvicorn main:app --reload  # FastAPI at localhost:8000

Access URLs:

๐Ÿ“ Project Structure

F1-RACE-PREDICTOR/
โ”œโ”€โ”€ ๐Ÿ“„ README.md                    # Project documentation
โ”œโ”€โ”€ ๐Ÿšซ .gitignore                   # Git ignore rules
โ”œโ”€โ”€ ๐Ÿ“ฆ requirements.txt             # Python ML dependencies
โ”‚
โ”œโ”€โ”€ ๐Ÿ”ง backend/                     # ML Training Environment
โ”‚   โ”œโ”€โ”€ ๐Ÿง  train_enhanced_model.py  # Primary ML training script
โ”‚   โ”œโ”€โ”€ ๐ŸŒ main.py                  # FastAPI app (development/testing)
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Š fetch_data.py            # Data fetching utilities
โ”‚   โ”œโ”€โ”€ ๐Ÿ”ฎ predict.py               # CLI prediction tool
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ data/                    # Training datasets
โ”‚   โ”‚   โ”œโ”€โ”€ f1_multi_year_results.csv  # 1950-2025 F1 data
โ”‚   โ”‚   โ””โ”€โ”€ f1_2023_results.csv         # Supplementary data
โ”‚   โ”œโ”€โ”€ ๐Ÿค– models/                  # Trained ML models (.pkl files)
โ”‚   โ”‚   โ”œโ”€โ”€ position_enhanced_model.pkl
โ”‚   โ”‚   โ”œโ”€โ”€ win_enhanced_model.pkl
โ”‚   โ”‚   โ”œโ”€โ”€ podium_enhanced_model.pkl
โ”‚   โ”‚   โ””โ”€โ”€ enhanced_label_encoders.pkl
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ logs/                    # Training logs
โ”‚   โ””โ”€โ”€ ๐Ÿ venv/                    # Python virtual environment
โ”‚
โ”œโ”€โ”€ โš›๏ธ frontend/                    # React TypeScript app
โ”‚   โ”œโ”€โ”€ ๐Ÿ  public/                  # Static assets & icons
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“ธ images/              # Team logos and assets
โ”‚   โ”œโ”€โ”€ ๐Ÿ“ฑ src/                     # React source code
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿงฉ components/          # React components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ CheckeredBackground.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ CurrentSeason.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ DriverCard.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ FantasyPage.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ HomePage.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ LegalFooter.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ StatisticsTable.tsx
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ TeamDetails.tsx
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ TeamSidebar.tsx
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“Š data/                # Static data files
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ drivers.ts
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ statistics.ts
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ teams.ts
โ”‚   โ”‚   โ”œโ”€โ”€ ๐ŸŽจ styles/              # CSS styling
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ“ types/               # TypeScript interfaces
โ”‚   โ”‚   โ”œโ”€โ”€ ๐Ÿ”ง App.tsx              # Main application
โ”‚   โ”‚   โ””โ”€โ”€ ๐Ÿ“„ index.tsx            # React entry point
โ”‚   โ”œโ”€โ”€ โš™๏ธ package.json             # Frontend dependencies
โ”‚   โ””โ”€โ”€ ๐Ÿ”ง tsconfig.json            # TypeScript configuration
โ”‚
โ”œโ”€โ”€ ๐ŸŒ api/                         # Vercel Serverless Functions
โ”‚   โ”œโ”€โ”€ ๐Ÿ”ฎ predict.js               # Main prediction endpoint
โ”‚   โ”œโ”€โ”€ ๐ŸŽ๏ธ teams.js                # Teams data API
โ”‚   โ”œโ”€โ”€ ๐Ÿ circuits.js              # Circuits data API
โ”‚   โ”œโ”€โ”€ ๐Ÿ“Š driver-stats.js          # Driver statistics API
โ”‚   โ””โ”€โ”€ ๐Ÿ† constructor-standings.js # Championship data API
โ”‚
โ”œโ”€โ”€ ๐Ÿ“š data/                        # Shared data directory
โ””โ”€โ”€ ๐Ÿ“š docs/                        # Documentation

๐Ÿง  Machine Learning vs Production Comparison

Aspect ML Training (Python) Production (JavaScript)
Purpose Research & Development User-facing predictions
Accuracy Highest (ML algorithms) High (ML-derived logic)
Performance Slower (model loading) Fastest (<100ms)
Scalability Limited (compute intensive) Unlimited (serverless)
Cost Higher (GPU/memory) Minimal (edge functions)
Deployment Complex (containers) Simple (git push)
Updates Retrain models Update logic
Dependencies Heavy (ML libraries) Light (vanilla JS)

Why This Hybrid Approach?

โœ… Best of Both Worlds:

  • ML training provides deep insights from comprehensive data analysis
  • JavaScript deployment ensures instant predictions and global scalability
  • Users get accurate predictions without waiting for model inference

โœ… Real-World Benefits:

  • Instant Loading: No cold starts or model loading delays
  • Global Scale: Predictions served from edge locations worldwide
  • Cost Effective: No GPU compute costs for inference
  • Reliability: No dependency on heavy ML libraries in production

UI Display

Home Page HomePage

Current Season CurrentSeason

Prediction Page PredictionPage

Fantasy Page FantasyPage

๐Ÿ”ฎ Prediction Models

ML Training Models (Python)

  • Position Regression: Random Forest predicting final race position (1-20)
  • Win Probability: Gradient Boosting for championship contender likelihood
  • Podium Prediction: Classification for top-3 finish probability
  • Feature Engineering: 20+ variables including driver experience, weather, circuit characteristics

Production Prediction Logic (JavaScript)

Optimized algorithms based on ML insights:

// Example: 2025 season-aware win probability
function calculateRealisticWinProbability(driver, constructor, gridPosition, weather) {
  // ML-derived base probabilities
  const baseProbMap = {
    'McLaren': 30,        // Dominant in 2025 (derived from training)
    'Ferrari': 20,        // Strong second
    'Red Bull Racing': 15 // Fallen from 2024 dominance
  };
  
  // ML-trained driver performance factors
  const driverFactor = getDriverPerformance(driver).winFactor;
  
  // Grid position impact (learned from historical data)
  const gridFactor = calculateGridPenalty(gridPosition);
  
  return baseProb * driverFactor * gridFactor * weatherFactor;
}

2025 Season Integration

Both systems incorporate current season realities:

  • Oscar Piastri: Championship leader with 8 wins
  • McLaren Dominance: 6 one-two finishes
  • Lewis Hamilton: Ferrari transition performance
  • Constructor standings: Real 2025 competitiveness

๐ŸŒ API Endpoints

Endpoint Method Description Architecture
/api/teams GET Current F1 teams data JavaScript
/api/circuits GET 2025 race calendar JavaScript
/api/predict POST Race outcome predictions JavaScript
/api/driver-stats GET Historical driver statistics JavaScript
/api/constructor-standings GET Championship standings JavaScript

FastAPI Development Endpoints

When running the FastAPI development server locally:

Endpoint Method Description
/docs GET Interactive API documentation (Swagger UI)
/redoc GET Alternative API documentation (ReDoc)
/api/health GET Health check endpoint
/api/model-info GET ML model information and status

Example API Usage

// Race prediction request
const prediction = await fetch('/api/predict', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    circuit: 'Monaco Circuit',
    weather: 'Dry',
    entries: [
      { driver: 'Oscar Piastri', constructor: 'McLaren', grid: 1 },
      { driver: 'Lando Norris', constructor: 'McLaren', grid: 2 },
      // ... more drivers
    ]
  })
});

// Response format
{
  "success": true,
  "predictions": [
    {
      "driver": "Oscar Piastri",
      "constructor": "McLaren", 
      "predicted_position": 1,
      "win_probability": 34.5,
      "tire_strategy": "Soft โ†’ Medium",
      "points_earned": 25
    }
  ],
  "race_info": {
    "circuit": "Monaco Circuit",
    "weather": "Dry",
    "temperature": 22
  }
}

๐Ÿ”ง Development

ML Training Workflow

cd backend

# 1. Setup Python environment
python -m venv venv
source venv/bin/activate

# 2. Install ML dependencies
pip install fastapi uvicorn[standard] pandas scikit-learn joblib numpy requests python-dotenv pydantic

# 3. Update training data (optional)
python fetch_data.py  # Fetches latest F1 data

# 4. Train enhanced models
python train_enhanced_model.py
# Expected output:
# โœ… Enhanced models loaded successfully
# ๐Ÿ“Š Dataset: 7,500+ race results (1950-2025)
# ๐ŸŽฏ Position RMSE: 2.3, Podium Accuracy: 78%

# 5. Test models locally (optional)
uvicorn main:app --reload  # FastAPI at localhost:8000
# API docs available at: http://localhost:8000/docs

Frontend Development

cd frontend

# Install dependencies
npm install

# Start development server
npm start

# Build for production
npm run build

# Deploy to Vercel
npx vercel --prod

Adding New Features

For ML Training Updates:

  1. Modify train_enhanced_model.py with new features
  2. Retrain models: python train_enhanced_model.py
  3. Test with FastAPI: uvicorn main:app --reload
  4. Analyze model insights and translate to JavaScript logic
  5. Update /api/predict.js with new algorithms

For Frontend Updates:

  1. Add components in src/components/
  2. Update TypeScript interfaces in src/types/
  3. Test locally with npm start
  4. Deploy with git push (auto-deploys to Vercel)

๐Ÿš€ Deployment Options

Option 1: Full JavaScript (Current Production)

# Single command deployment
npm run build && npx vercel --prod

โœ… Pros: Fast, scalable, cost-effective โŒ Cons: Predictions based on ML insights, not live models

Option 2: Hybrid with Python FastAPI

# Deploy frontend to Vercel
npx vercel --prod

# Deploy FastAPI to Railway/Render/Heroku
railway up  # or render deploy
# or: git push heroku main

โœ… Pros: True ML predictions, higher accuracy, automatic API docs โŒ Cons: More complex, higher costs, slower responses

Environment Variables

# Frontend (.env.local)
NEXT_PUBLIC_API_URL=https://your-api-url.com

# Python Backend (.env)
ENVIRONMENT=production
DEBUG=False
CORS_ORIGINS=https://your-frontend-url.com

๐ŸŽฎ User Features

Smart Data Persistence

  • Page Refresh: All driver selections and settings preserved
  • Tab Close/Reopen: Fresh start with clean slate
  • localStorage: Intelligent session management

Mobile Optimizations

  • Responsive Design: Works on all screen sizes
  • Touch-Friendly: Optimized for mobile interaction
  • Scroll Preservation: Maintains position during navigation

Enhanced UX

  • Real-time Updates: Instant prediction recalculation
  • Visual Feedback: Loading states and smooth transitions
  • Error Handling: Graceful API failure management

๐Ÿ“Š Data Sources

  • Historical Training Data: Ergast F1 API (1950-2024) - 75+ years
  • 2025 Season Data: Official F1 team rosters and current standings
  • Weather Simulation: Circuit-specific realistic conditions
  • Performance Metrics: Championship standings and race results

๐Ÿ› ๏ธ Recent Updates

v2.3.0 - FastAPI Migration

  • โœ… Migrated from Flask to FastAPI for modern async API
  • โœ… Added automatic API documentation with Swagger UI
  • โœ… Implemented Pydantic models for request/response validation
  • โœ… Enhanced error handling and HTTP exception management
  • โœ… Improved performance with async endpoint support

v2.2.0 - ML Training Integration

  • โœ… Added comprehensive ML training pipeline with Python
  • โœ… Integrated 2025 season data (up to Belgian GP July 27)
  • โœ… Enhanced prediction accuracy with 20+ features
  • โœ… Documented dual-architecture approach
  • โœ… Optimized JavaScript predictions based on ML insights

v2.1.0 - Enhanced User Experience

  • โœ… Fixed sidebar scroll preservation (desktop & mobile)
  • โœ… Added smart data persistence across refreshes
  • โœ… Implemented "Clear All" functionality
  • โœ… Enhanced mobile responsiveness
  • โœ… Added legal footer with proper F1 disclaimers

v2.0.0 - Modern Frontend

  • โœ… Migrated from Streamlit to React TypeScript
  • โœ… Added homepage with F1 education
  • โœ… Built current season team browser
  • โœ… Created interactive prediction interface
  • โœ… Implemented fantasy mode foundation

๐Ÿ› Known Issues

  • Fantasy team persistence needs backend integration
  • Some team logos may need CDN optimization
  • ML training requires manual data updates for new races
  • Python FastAPI is for development only (not production-ready for ML models)

๐Ÿš€ Future Roadmap

Short Term

  • Automated training pipeline with new race results
  • Real-time data integration for live races
  • Enhanced mobile app features
  • A/B testing between ML and JavaScript predictions

Long Term

  • Live timing and telemetry integration
  • Deep learning models for advanced predictions
  • Social features and sharing
  • Multi-language support
  • Professional API for third-party developers

ML Enhancement Roadmap

  • Neural Networks: Deep learning for complex pattern recognition
  • Real-time Training: Continuous model updates with new race data
  • Ensemble Methods: Combining multiple ML approaches
  • Feature Engineering: Advanced telemetry and performance metrics
  • Automated Deployment: ML model to JavaScript translation pipeline

Development Guidelines

  • TypeScript: Use strict typing for all components
  • React: Functional components with hooks
  • Python: Follow PEP 8 standards for ML code
  • FastAPI: Use async endpoints and Pydantic models
  • ML Training: Document all feature engineering decisions
  • API Design: Maintain compatibility between training and production
  • Testing: Add tests for both ML and JavaScript predictions
  • Documentation: Update README for ML/deployment changes

๐Ÿ“Š Performance Metrics

ML Training Performance

  • Dataset Size: 7,500+ race results (1950-2025)
  • Training Time: ~2-3 minutes on modern hardware
  • Position RMSE: 2.3 (excellent for 20-position prediction)
  • Win Accuracy: 85% (top-3 predicted winners)
  • Podium Accuracy: 78% (top-3 finish prediction)

Production Performance

  • API Response Time: <100ms average
  • Prediction Generation: <50ms
  • Global CDN: <200ms worldwide
  • Uptime: 99.9% (Vercel infrastructure)
  • Concurrent Users: Unlimited (serverless auto-scaling)

FastAPI Development Performance

  • API Documentation: Auto-generated at /docs and /redoc
  • Request Validation: Automatic with Pydantic models
  • Async Support: Non-blocking request handling
  • Error Handling: Comprehensive HTTP exception management

๐Ÿ“„ Legal & Licensing

Educational Use

This project is created for educational, analytical, and non-commercial purposes only.

Trademark Acknowledgment

Formula 1ยฎ, F1ยฎ, FIA FORMULA ONE WORLD CHAMPIONSHIPโ„ข, GRAND PRIXโ„ข and related marks are trademarks of Formula One Licensing B.V., a Formula 1 company. All rights reserved.

Team names, logos, driver names, and all related imagery are trademarks and intellectual property of their respective owners.

Fair Use

The use of F1-related trademarks, logos, and imagery falls under fair use provisions for:

  • Educational content and learning purposes
  • Statistical analysis and data visualization
  • Fan engagement and community discussion
  • Technical demonstration of prediction algorithms

This is an independent fan project and is not affiliated with, endorsed by, or connected to Formula 1, the FIA, or any F1 teams.

Machine Learning & Data

  • Training Data: Publicly available historical F1 results
  • Model Training: Educational machine learning demonstration
  • Prediction Logic: Original algorithms and implementations
  • No Commercial Use: All ML models and training code for educational purposes only

๐Ÿ™ Acknowledgments

  • Formula 1 for the incredible sport that inspired this project
  • Ergast F1 API for comprehensive historical racing data
  • scikit-learn Community for excellent machine learning tools
  • FastAPI for modern, fast API development with automatic documentation
  • React & TypeScript communities for modern web development
  • Vercel for seamless deployment and serverless infrastructure
  • All F1 fans who make this sport amazing

Technical Acknowledgments

  • pandas for powerful data manipulation capabilities
  • numpy for efficient numerical computations
  • FastAPI & Uvicorn for high-performance async API development
  • Pydantic for data validation and settings management
  • Random Forest & Gradient Boosting algorithms for robust predictions

๐Ÿ“ž Support & Contact

For Developers

  • ๐Ÿค– ML Questions: Issues tagged with machine-learning
  • ๐ŸŒ API Questions: Issues tagged with api or fastapi
  • โš›๏ธ Frontend Questions: Issues tagged with frontend
  • ๐Ÿ“Š Data Questions: Issues tagged with data

๐Ÿ "To achieve anything in this game, you must be prepared to dabble in the boundary of disaster." - Stirling Moss

๐Ÿš€ Ready to predict the next F1 race? Visit the App

About

F1 Predictor App that utilizes Python, Panda, NumPy, scikit-learn, Joblib. Deployed on React+TS+Tailwind frontend and FastAPI backend

Topics

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages