How PaceBoss works

PaceBoss turns a SimResults CSV into a navigable race report — and, across multiple imports, into a personal career view and a league standings tool. Everything runs in your browser; nothing leaves your device. Here's the flow end-to-end.

1. Get a CSV

The expected input is a SimResults CSV export — produced by simresults.net when you upload an ACC results file. Most ACC racers already have these from league servers; if you don't, drop into a session, post-process the result through SimResults, and click Export CSV.

Typical exports are well under 1 MB. Race and qualifying sessions are both supported. Multi-session CSVs (qualifying + race + warmup in one file) are parsed cleanly — PaceBoss treats each as a navigable session in the workspace.

2. Import

On /import, drag the CSV onto the dropzone or click Try sample data to load a bundled multi-class GT3+GT4 race used for testing.

The file is parsed entirely in your browser. After parsing, the import is saved to IndexedDB — so you can come back later, click Resume, and pick up exactly where you left off. The library at /sessions lists every import you've kept.

If you've claimed a driver and your name appears in the parsed data, post-import navigation lands on /me instead of the session view.

3. Workspace overview

You land on the workspace dashboard:

  • A summary of sessions, entrants, total race laps, and the fastest lap.
  • A session list (in the sidebar) showing every session in the import. Click any session to open the results view.
  • Sessions you raced in (where your claimed name appears) are flagged with a small accent dot in the sidebar.

4. Results

The results view has three regions:

  • Race recap header — the basics: track, session type, date, server, lap count, P1.
  • Podium strip — top three with car number, driver, gap. The claimed-me row gets an accent border + you micro-badge.
  • Classification table (or a tap-friendly list on mobile) — the full grid with positions, gaps, best laps, sector ranks, status flags. Sortable. Filterable. Class-toggleable for multi-class races.

Hovering any row pops a preview card with the high-signal stats: best lap, gap, consistency %, three sector thermometers, and a click-to-open link. Click the row itself to drill into the driver.

5. Driver detail

The driver page is the most information-dense view in the app. The hero shows finish position, consistency, and the driver's identity (name, car, team, claimed-me indicator). Below that:

  • Pace trend chart — every lap plotted, Y-inverted so faster = higher. Two dashed reference lines: personal best, theoretical best. The shaded area between the personal-best line and your trace is lost time. Hover any lap for a tooltip with the exact time + delta-to-best. See theoretical best lap explained.
  • Best-lap chip — your fastest lap and a sub-block showing the theoretical-best delta.
  • Sectors chip — three vertical thermometers showing your gap to the cohort best in each sector. See pace bands explained for the colour palette.
  • Cohort toggle — switches between class-relative (default in multi-class races) and overall-relative comparisons. All deltas re-anchor instantly.
  • Compare module (deeper analysis) — pick another driver (winner, fastest-lap holder, the car ahead) and see best-lap and sector-by-sector deltas.
  • Laps table (deeper analysis) — every lap, every sector, sorted, with delta-to-best. Pit laps and invalid laps are flagged.

6. /me — your career

The /me view aggregates every session you've raced across all imports, gated on a claim:

  • Hero with career totals (Races, Podiums, Wins) and the date range across imports.
  • Best-lap-by-track chip grid — each tile shows your fastest at that track, a sparkline of session history (Y-normalised so 100% = the field-fastest at that track), and a pace-band tint that encodes how close you are to the field benchmark.
  • Sessions you raced — a flat list, most-recent first, click-through to the originating session.

The chip tints and sparkline shapes give you a glance-readable triage: green chips with rising sparklines = strong tracks; red chips with flat-low sparklines = highest-leverage tracks to attack. See improve at a specific track.

7. /leagues — championships

The /leagues view turns saved CSV imports into season standings. Workflow:

  1. Create a championship (name, optional season, optional class filter, points scheme, drop-worst-rounds).
  2. Attach saved imports as rounds (each round = one CSV).
  3. The standings table computes immediately — pos, driver, total points, per-round breakdown, wins, podiums.

The standings table renders the claimed-me row with a primary border-left accent so it's easy to scan to. P1 gets a crown icon. Drop-rounds are line-through with a · drop annotation. See run a championship.

8. Export a screenshot

Every results view, driver page, and championship-standings tile has a Share report button. The viewport widens, scroll regions expand, and the captured region renders to a PNG you can drop into Discord, a club post, or a championship recap. The export filename includes the track + session + date; the captured image has a small paceboss · … watermark inside the captured region.


If a number ever surprises you, check the glossary for how it's calculated. For deeper treatments of specific concepts, see the learn guides.

questions

What file does PaceBoss need?
A SimResults CSV export. Go to simresults.net, upload your ACC result file, and click Export CSV. That file is what PaceBoss reads.
Does PaceBoss work offline?
After the first load, yes. Imports are saved to IndexedDB so you can return to a session without re-importing the CSV.
Does PaceBoss send my race data anywhere?
No. The CSV is parsed entirely in your browser and stored in IndexedDB on your device. Nothing is uploaded to any server.
Does PaceBoss support multi-class races?
Yes. GT3 and GT4 in the same CSV are handled cleanly. Sector comparisons default to class-relative so a GT4 driver is compared against GT4, not the full field.