A machine learning application that predicts drivers' likelihood of advancing to parent series using historical performance data.
The application is containerized and deployed on:
- Backend: FastAPI on Render
- Frontend: Vite on Render
- CI/CD: GitHub Actions for testing
- cron-job.org - Keep instance alive due to Render's spindown with the free tier
- FastAPI - REST API framework
- React - UI framework
- Python 3.12+
- Node.js 20+
cd backend
# no gpu
uv sync --extra cpu
# with gpu
uv sync --extra cu128
fastapi runcd frontend
npm install
npm run dev# Backend
cd backend
pytest --cov=. --cov-report=html --cov-report=term-missing -n auto
# Frontend
cd frontend
npm run test:coverage# Backend linting
uv run ruff check
uv run ruff format --check
# Frontend linting
npm run lint
npm run format- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'feat: Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
- Official Formula 1, Formula 2, and Formula 3 championships for schedule data
- Wikipedia contributors for driver and team information