Back to home

Project

Rally Coach

Rally Coach is a local Python app that turns Assetto Corsa Rally recordings into timestamped driving feedback. It uses OpenCV first, extracts compact evidence from the video, ranks the moments worth reviewing, and only then asks an LLM for coaching.

Source on GitHub

What It Does

The project is built around a simple constraint: do the boring, measurable video work locally before involving a model. A long run is split into segments, sampled into contact sheets, reduced into HUD and road-view evidence, and scored with deterministic heuristics for things like steering volatility, speed changes, marker movement, hesitation, and likely high-value coaching moments.

The OpenAI layer receives selected visual evidence packets and structured telemetry-like summaries, not the full video. That keeps the reports evidence-linked and makes the uncertainty visible when the recording cannot support exact telemetry.

Pipeline

Local video intakeRead metadata, apply crop calibration, segment the recording, and extract frames.
Computer vision evidenceBuild contact sheets, isolate road and HUD crops, estimate visible inputs, and track progress or ghost markers.
Deterministic rankingScore segments before any model call so the most interesting moments get reviewed first.
Structured coaching reportGenerate Markdown and HTML reports with timestamped observations, recommendations, and uncertainty notes.

Status

Rally Coach is experimental and portfolio-grade. The CLI pipeline works end to end on local Assetto Corsa Rally recordings, but its telemetry is video-derived and calibrated to a specific HUD style. The right interpretation is evidence-first coaching, not simulator ground truth pretending to be more precise than the pixels allow.

Stack Python, OpenCV, Pydantic, Typer, Jinja2, optional Streamlit UI.
Outputs Telemetry CSVs, ranked segments, model analyses, contact sheets, Markdown, and HTML reports.
Focus Assetto Corsa Rally videos with visible cockpit HUD and progress overlays.