This commit is contained in:
2025-12-01 22:01:58 +01:00
parent 086fdc1ea1
commit f717abf0a0
14 changed files with 3305 additions and 1780 deletions

236
docs/concept/ADMINS.md Normal file
View File

@@ -0,0 +1,236 @@
# GridPilot for Admins
*Professional tools that eliminate the chaos of running an iRacing league — without changing how your community works.*
---
## 1. Why Admins Need GridPilot
Running a league today means juggling:
- Discord threads
- Google Sheets
- CSVs
- DMs
- PDFs
- manual points
- manual sign-ups
- manual session creation
- messy protest handling
Meanwhile, admins just want to:
- run good races
- keep drivers happy
- keep things fair
- and not drown in repetitive work
GridPilot gives admins the structure and tools iRacing never provided.
---
## 2. League Identity & Presentation
Admins get a clean, modern league homepage — instantly.
### Includes:
- league logo + colors
- season schedule
- standings (driver + team)
- team list
- driver roster
- results archive
- links to Discord, YouTube, Twitch
### Optional:
- custom subdomain (e.g. *yourleague.racing*)
This makes small leagues feel **professional** without any technical effort.
---
## 3. Season Management
A complete toolkit to organize seasons without spreadsheets.
### Admins can:
- define the league format
- create calendars (tracks, car classes)
- configure points systems
- define drop weeks
- choose team vs solo format
- set rules & info pages
- open/close registration
- manage rosters
Everything stays in one clean UI.
---
## 4. Driver & Team Sign-ups
Forget Discord forms and DMs.
### GridPilot handles:
- driver sign-ups
- team registrations
- automatic roster generation
- driver availability status
- team composition
- waitlist management
Admins no longer need to chase people for info.
---
## 5. Automatic Results Import
One of the biggest pains in league racing — **gone**.
GridPilot automatically imports results from iRacing:
### Extracts:
- finishing positions
- incident count
- best laps
- lap-by-lap data
- gained/lost positions
- SoF (if available)
### Updates:
- driver standings
- team standings
- season points
- drop-week applied points
Admins dont upload CSVs or calculate anything manually again.
---
## 6. Complaints & Penalties
A structured workflow to replace protest chaos.
### Drivers can submit complaints:
- select the race
- select involved drivers
- add timestamps
- add explanations
- optionally add short clips
### Admins get:
- a review dashboard
- quick decision tools:
- no action
- warning
- time penalty
- points deduction
- DQ for the race
### GridPilot updates everything automatically:
- recalculates standings
- adjusts team points
- logs penalties visibly
Admins stay in full control — GridPilot just removes the manual work.
---
## 7. Optional: Session Creation QoL
Automation is *optional* — but powerful for admins who want it.
### One-click creation of:
- practice sessions
- race sessions
- full season batches
### Benefits:
- no repetitive form filling
- consistent settings
- saves hours every season
- always under admin control
GridPilot acts as an **assistant**, not a bot.
Admins keep full responsibility.
---
## 8. Roster & Driver Management
Admins can:
- view complete roster
- assign drivers to teams
- manage substitutes
- approve/reject sign-ups
- track attendance
- see driver stats for performance evaluation
Helps maintain a healthy community and balanced competition.
---
## 9. Transparency & Trust
GridPilot creates structure admins normally have to enforce manually:
- clear point systems
- visible penalties
- visible rules
- logged decisions
- consistent standings
- predictable schedules
- no lost messages or hidden complaints
This removes accusations of favoritism or unfairness.
Admins gain **presence**, not stress.
---
## 10. Zero Technical Overhead
No coding.
No servers.
No spreadsheets.
No HTML.
No spreadsheets.
No setup.
Admins simply:
1. create a league
2. configure the season
3. share the league link
4. run the races
5. GridPilot handles the rest
---
## 11. What GridPilot Is *Not* for Admins
- not a replacement for your Discord community
- not a stewarding system (no live stewarding)
- not intrusive automation
- not a tool that changes racing behavior
- not a way to manipulate results
We respect the league → we just make it manageable.
---
## 12. Summary
GridPilot gives admins:
- **professional presentation**
- **zero manual points work**
- **automatic standings**
- **clean sign-ups**
- **structured complaints**
- **quick penalties**
- **optional session automation**
- **roster tools**
- **driver & team identity**
- **season organization**
It lets admins focus on racing, not paperwork.
GridPilot =
**less chaos, more competition.**

283
docs/concept/COMPETITION.md Normal file
View File

@@ -0,0 +1,283 @@
# GridPilot Competition & Unique Selling Points
*Why GridPilot matters — and why it fills the biggest gap in iRacing league racing.*
---
# 1. What iRacing Leagues Are Missing
iRacing does many things extremely well:
- great cars
- great physics
- huge official participation
- excellent netcode
But iRacing does **not** provide:
- long-term driver identity
- league structure
- team championships
- personalized stats
- season history
- league discovery
- automated standings
- protest/penalty workflows
- a centralized competition ecosystem
Everything around league racing is **outsourced to Discord chaos**.
GridPilot fixes the layer iRacing ignores.
---
# 2. The Competition Layer iRacing Never Built
GridPilot becomes the competition universe for league racing:
### **Drivers get**
- a racing identity
- a real profile that spans leagues
- season standings that matter
- team championships
- points that persist
- stats that make progress visible
### **Admins get**
- reliable standings
- structured schedules
- automated results
- clean sign-up flows
- real competition formats
### **Leagues get**
- a professional home
- discoverability
- branding
- stable structure
This is something **no existing tool** provides in a unified way.
---
# 3. What Others Do (and Why Its Not Enough)
### **SimRacerHub**
- ancient UI
- manual CSV uploads
- no identity
- no automation
- no team competition
- no discovery
- no long-term profiles
### **Discord + Google Sheets**
- disorganized
- non-scalable
- everything is manual
- error-prone
- no identity
- no automation
- no trust system
- no visibility
### **iRacing Official Series**
- random grids
- no personal connection
- no ladder
- no league-style competition
- no teams (beyond 1-car teams)
- no season identity
### **SimGrid (ACC)**
- not for iRacing
- no automation
- not deeply connected to semiprofessional league structures
### **LFM**
- matchmaking, not league management
- no season identity
- not for iRacing
- no team championship
- no admin tooling
**Conclusion:**
There is *no* product that unifies the league racing ecosystem for iRacing.
GridPilot is literally the **first** to do this properly.
---
# 4. What GridPilot Does That Nobody Else Can
## **1. Clean, automatic league infrastructure**
- standings
- results
- rosters
- seasons
- scoring
- team formats
Nobody else automates this end-to-end.
---
## **2. Real Constructors-Style Team Championships**
iRacing has:
- only one driver per car
- no parallel team scoring
- no true team competition
GridPilot:
- multiple drivers race for one team
- all points count
- teams gain prestige across seasons
This completely changes how league racing feels.
---
## **3. Unified Driver Identity Across Leagues**
Drivers currently:
- disappear between seasons
- have no home
- no stats
- no history
GridPilot gives them:
- permanent stats
- history
- standings
- cross-league progression
- consistent profile
This becomes the **center of their virtual racing career**.
---
## **4. Structured Complaints & Penalties**
Other platforms:
- use DMs
- use Discord
- lose messages
- inconsistent punishment
- emotional chaos
GridPilot:
- structured forms
- timestamps
- clear penalty tools
- automatic standings update
This makes leagues feel *fair* — a huge USP.
---
## **5. Season creation without busywork**
Admins normally spend hours on:
- session creation
- spreadsheets
- messaging
GridPilot:
- automates results
- simplifies sessions
- cleans up registration
- centralizes everything
Its the **ultimate league admin QoL platform**.
---
# 5. Why Drivers Should Sign Up
**Because racing finally means something.**
GridPilot gives drivers:
- season standings
- long-term stats
- team championships
- identity
- clarity
- professionalism
- an organized home for their racing
No more guessing, no more chaos — a place to grow and compete.
---
# 6. Why Admins Should Use GridPilot
**Because running a league shouldnt be a full-time job.**
GridPilot:
- removes the boring work
- automates the repetitive tasks
- enforces structure
- keeps standings clean
- removes spreadsheet pain
- prevents drama
- makes their league look professional
Admins feel supported instead of overwhelmed.
---
# 7. Why GridPilot Will Become THE Platform
GridPilot combines:
- **admin tools**
- **driver identity**
- **team championships**
- **competition structure**
- **automated results**
- **clear season organization**
- **discovery & visibility**
This creates a **complete ecosystem**, not just a tool.
When multiple leagues use it → drivers collect universal stats.
When drivers collect stats → teams form around them.
When teams form → prestige and competition grow.
When prestige grows → more leagues join.
This creates a **network effect** no other platform has.
---
# 8. Simple Value Summary (ideal for landing page)
### For Drivers:
- real competition
- season identity
- long-term stats
- team championships
- one place for all leagues
### For Admins:
- less work
- no spreadsheets
- clean sign-ups
- automatic standings
- proper penalty tools
- professional league branding
### For the Community:
- a central home
- simple discovery
- fair competition
- consistent rules
- real history
---
# 9. Why You Should Sign Up Early
Because:
- early leagues define the meta
- early drivers get full season history
- early admins help shape the platform
- you get modern tools for free during beta
- youre part of the first proper iRacing league ecosystem
- you want league racing with meaning, structure, and clarity
GridPilot is the **competition layer iRacing never built —
and the league ecosystem drivers always wanted.**

232
docs/concept/CONCEPT.md Normal file
View File

@@ -0,0 +1,232 @@
# GridPilot — The Competition Platform for iRacing Leagues
*A modern, lightweight platform that gives iRacing league racing structure, identity, and long-term meaning — without taking control away from communities.*
---
# 1. What GridPilot Solves
iRacings strength is racing quality, not league infrastructure.
Today, league racing suffers from:
- scattered tools (Discord, Sheets, Forms, DMs)
- zero unified identity for leagues
- heavy admin workload for every race
- no automatic standings or result sync
- no long-term driver identity or career stats
- no proper team-based competition
- unstructured protest handling (DMs, screenshots, chaos)
GridPilot becomes the **competition layer** above iRacing.
We dont change racing — we fix everything around it.
---
# 2. Who GridPilot Is For
## League Admins
Need:
- easy season setup
- automatic result handling
- clean standings
- a structured complaints/penalty workflow
- predictable points systems
- modern league presentation
- simple driver/team signups
- optional session-creation QoL automation
## Drivers
Need:
- easy league discovery
- simple registration
- clean standings
- reliable schedule
- personal stats and history
- long-term progression
- team + individual competition
- structured way to file complaints
Admin + Driver = **GridPilots only focus for MVP**.
---
# 3. Core Features (MVP)
## 3.1 League Identity
- clean public league page
- schedule, standings, roster, rules
- league branding (logo, colors)
- optional custom domain
- links to Discord / YouTube / Twitch
## 3.2 Season Management
- full calendar for each season
- point system presets
- drop weeks
- team or solo mode
- automatic standings
## 3.3 Driver & Team System
### Drivers:
- league join flow
- personal stats (per race + lifetime)
- progression + history
- cross-league identity (v1 basic)
### Teams:
- create/manage teams
- team roster management
- real “Constructors Championship” parallel scoring
- team standings + history
(This is a unique selling point: **real team racing in iRacing leagues**.)
---
# 4. Complaints & Penalties (Essential)
A structured system to replace Discord DMs and random drama.
## 4.1 Driver Complaints
Drivers can file a complaint with:
- race
- involved drivers
- timestamp(s)
- description
- optional replay clip / link
Keeps everything organized and searchable.
## 4.2 Admin Penalty Tools
Admins get a review panel:
- complaint list
- timestamps + notes
- direct links to replays
- quick actions:
- no action
- warning
- time penalty
- points deduction
- DQ for race
## 4.3 Automatic Standings Update
When a penalty is assigned:
- driver points update
- team points update
- classification updates with time penalties
- everything logged transparently
Admins stay in control.
Drivers understand the decision.
Chaos disappears.
---
# 5. Result Automation (Essential QoL)
- automatically sync race results from iRacing
- parse positions, laps, incidents, fastest lap
- update standings instantly
- eliminate manual CSV uploads or spreadsheets
This is **core** for both admins and drivers
(but not the “main feature” — just feels like magic).
---
# 6. Optional: Session Creation QoL (Not required)
GridPilot can assist admins:
- create sessions via browser automation
- batch-create entire season
- consistent settings without errors
Important:
**Automation is a helper, not the product.**
We never touch gameplay.
---
# 7. Competition Layer
This is what makes GridPilot more than “tools”.
## 7.1 Individual Progression
Drivers earn:
- points
- standings
- history
- personal stats
- performance trends
Racing finally has **long-term meaning**.
## 7.2 Team Competition
Teams accumulate points across races and seasons.
Drivers contribute to team success even when racing individually.
The result:
**iRacing Ligen finally feel like real motorsport championships.**
---
# 8. Safety, Security & Trust
- zero-knowledge login
- we never see or store passwords
- browser window visible for login
- automation always runs *on the admins machine*
- no client modification (unlike iRefined)
Trust and legality are fundamental.
---
# 9. MVP Philosophy
### What we include:
- Admin QoL tools
- Driver identity
- Team competition
- Standings + automation
- Complaints + penalties
- League identity + presentation
- Session creation helper (optional)
### What we leave out for now:
- stewards marketplace
- streaming tools
- monetization
- complex global ladder
- rating systems
- cross-sim functionality
- esports organization
GridPilot starts **simple and solid**.
---
# 10. Long-Term Vision (kept small but real)
GridPilot becomes the central place where:
- drivers build a career
- teams compete across seasons
- leagues run without chaos
- complaints/penalties stay structured
- standings stay consistent
- automation reduces work
- identity and progression matter
This is the part that makes us **THE platform**,
but we dont overpromise it on day one.
---
# Summary
**GridPilot simplifies league management —
and elevates it from scattered spreadsheets
to a modern competition platform.**
Admins get less work.
Drivers get more meaning.
Teams get real championships.
Everyone gets structure instead of chaos.

236
docs/concept/DRIVERS.md Normal file
View File

@@ -0,0 +1,236 @@
# GridPilot for Drivers
*A clean competition platform that gives iRacing drivers structure, clarity, and long-term identity — without the chaos of Discord, spreadsheets, or scattered tools.*
---
## 1. Why GridPilot Matters for Drivers
iRacings official races are fun, but theyre anonymous.
Community leagues are exciting, but theyre chaotic and inconsistent.
Drivers want:
- clear schedules
- consistent standings
- honest competition
- long-term stats
- team identity
- simple sign-ups
- structured complaints
- a place to follow their own racing journey
GridPilot gives drivers the **missing competitive layer** on top of iRacing leagues.
---
## 2. Your Driver Profile
Every GridPilot driver gets a modern profile that shows who they are across leagues.
### **Profile includes**
- name, number, country
- leagues youre currently racing in
- season standings (driver + team)
- race history
- long-term point totals
- finishing positions
- incident trends
- performance stats (e.g., avg finish, win rate)
- optional team membership
### **Why its different**
For the first time, your results arent stuck in individual Discords or spreadsheets.
Your **racing identity lives in one place**.
---
## 3. League Discovery — Find Where You Belong
GridPilot makes it easy to find leagues that fit your schedule, skill level, and car preferences.
### **Search filters**
- car class
- time of day
- weekday/weekend
- competition level
- league size
- region
### **League pages show**
- schedule
- standings
- rules & format
- car/track list
- roster
- sign-ups
No more scrolling through dead Discord ads or random forum posts.
You actually *see* what youre joining.
---
## 4. Joining a League — Simple & Fast
A driver-first flow:
1. Pick a league
2. Review schedule & format
3. Join solo or select a team
4. See upcoming races instantly
5. Start collecting points
No forms.
No spreadsheets.
No “talk to the admin.”
Just click and race.
---
## 5. Race Day Clarity
GridPilot gives drivers everything they need to show up ready:
- upcoming race timer
- track, car, session settings
- lobby info (password, link, format)
- previous race results
- standings impact preview
- weather / dynamic info (if available)
Drivers stop asking the admin:
> “Hey, whats the track this week?”
---
## 6. Automatic Race Results
After the race, GridPilot automatically pulls iRacings results:
### **You get**
- final classification
- gained/lost positions
- incidents
- fastest laps
- points earned
- drop-week changes
No more:
- waiting for an admin
- refreshing Discord
- reading screenshots
- guessing standings
Standings update themselves the moment results hit iRacing.
---
## 7. Long-Term Progression
Drivers always wanted more than “just racing.”
GridPilot gives:
### **Season history**
- every race
- every point
- every position change
### **Career overview**
- races completed
- podiums
- wins
- average finish
- trendline performance
### **Multi-league identity**
Your GridPilot profile grows as you race in multiple leagues and seasons.
This makes league racing finally feel **meaningful**.
---
## 8. Team Racing — Real Constructors-Style Competition
GridPilot supports **real team racing**, not the one-driver-per-team limitation of most leagues.
### **How it works**
- each team registers multiple drivers
- drivers race in parallel
- all points contribute to the team championship
- teams gain prestige over multiple seasons
### **For drivers**
You can:
- join a team
- help your team climb the standings
- show your contribution in your profile
- build real rivalries over time
This creates a feeling of *real motorsport* instead of isolated races.
---
## 9. Complaints & Penalties Made Simple
Drivers finally get a **structured** way to submit complaints.
### **Submit complaint**
- pick the race
- pick involved drivers
- add timestamps
- add description
- optional replay clip / YouTube link
### **Admin sees a simple review panel.**
No lost DMs, no arguments across Discord, no chaos.
### **Standings update automatically after penalties.**
No manual math.
No spreadsheet edits.
Drivers get transparency.
Admins get speed.
---
## 10. The Experience for Drivers
GridPilot gives drivers:
- fewer distractions
- less confusion
- no spreadsheet hell
- proper standings
- identity that grows
- team fantasy + real competition
- simple joining
- long-term motivation
- reliable information
- structured dispute resolution
League racing finally feels like a **proper season**, not a patchwork process.
---
## 11. What GridPilot *does not* do (important)
- doesnt manage your Discord social life
- doesnt auto-join races for you
- doesnt replace iRacing
- doesnt enforce drama rules
- doesnt simulate or interfere with gameplay
GridPilot strengthens what drivers already enjoy —
and eliminates everything that frustrates them.
---
# Summary
GridPilot for Drivers is about three things:
1. **Clarity** — know where, when, and what youre racing.
2. **Progression** — see your improvement and career.
3. **Competition** — battle in leagues and teams that feel like real motorsport.
The platform gives drivers exactly what theyre missing today:
a central, modern home for their league racing identity.

192
docs/concept/LANDING.md Normal file
View File

@@ -0,0 +1,192 @@
# GridPilot — Where iRacing League Racing Finally Comes Together
*A modern platform that makes league racing clearer, cleaner, and actually fun — for drivers, admins, and teams.*
---
## League racing deserves better.
Right now, running or joining a league means:
- Discord chaos
- scattered spreadsheets
- unclear standings
- manual data entry
- lost messages
- confusing sign-ups
- penalties handled in DMs
- no global identity
- no long-term stats
The racing in iRacing is amazing.
**Everything around it shouldn't be this messy.**
GridPilot fixes the layer iRacing leaves behind.
---
# What GridPilot gives you
## 📅 A real home for your league
Every league gets:
- a clean schedule
- standings
- results
- driver roster
- rules
- branding
- links (Discord, Twitch, YouTube, etc.)
No setup.
No technical pain.
Just a proper league homepage that looks professional.
---
## 🏁 Automatic results & standings
You race → GridPilot handles the rest.
We track:
- positions
- incidents
- points
- drop weeks
- driver stats
- team points
- performance trends
Standings update instantly after results hit iRacing.
Admins never touch spreadsheets again.
---
## 👥 Real team racing — finally done right
Not just “tags next to names.”
GridPilot supports true constructors-style racing:
- multiple drivers contribute points
- flexible scoring rules
- dynamic lineups (different drivers each race)
- team standings
- season + all-time history
- driver contribution breakdown
League racing finally feels like **real motorsport**.
---
## 👤 Driver identity that actually matters
Your racing history follows you across leagues and seasons.
Your driver profile includes:
- race results
- season standings
- incident trends
- consistency metrics
- points over time
- team membership
- personal progress
iRacing gives you physics.
**GridPilot gives you a racing career.**
---
## ⚖ Clean protests & quick penalties
No more chaotic DM chains or missing evidence.
Drivers can submit structured complaints with:
- timestamps
- drivers involved
- description
- optional replay clips
Admins get:
- a proper review panel
- quick penalty tools (warning, time penalty, points deduction, DQ)
- auto-updated standings
Fair. Transparent. Zero drama.
---
## 🚀 Race management without headaches
Admins get:
- season builder
- roster tools
- sign-up flows
- scoring presets
- automatic result import
- penalty system
- league branding
Everything that normally takes hours per week…
now takes minutes.
---
## 🔧 One-click session creation (Quality-of-Life)
Filling out hosted session forms is repetitive as hell.
GridPilot can help:
- generate full season sessions
- consistent configuration
- no more manual form work
- admin stays fully in control
This is not the product —
it's just something that makes life easier.
---
# Why people will use GridPilot
### For drivers:
- clearer racing
- real identity
- competitive meaning
- team pride
- structured info
- proper stats
- no spreadsheet guessing
### For admins:
- less work
- fewer mistakes
- clean presentation
- no nightly result updates
- no Discord chaos
- clear rules & penalties
- smooth seasons
### For teams:
- proper constructors championships
- recruitment tools
- long-term reputation
- contribution metrics
- cross-season continuity
---
# Why this exists (in plain words)
Because league racing is the best part of iRacing
— and the worst-maintained.
Were building something practical, modern, and helpful.
Not trying to reinvent racing, not trying to replace leagues,
just trying to make everything around racing **less painful and more meaningful**.
---
# Want early access?
GridPilot is opening early access to **everyone** who wants smoother, more organized league racing.
Drop your email if you want:
- updates as features go live
- a chance to shape the platform
- early access once things stabilize
- zero spam, zero BS
[ Email field ] [ Sign Up ]
Lets make league racing better — together.

250
docs/concept/RACING.md Normal file
View File

@@ -0,0 +1,250 @@
# GridPilot Race Management
*A unified system for running modern iRacing leagues with team formats, automated series structures, and clean penalty handling.*
---
# 1. Overview
GridPilot Race Management defines **how racing works on the platform**,
independent of league size or community style.
It consists of three pillars:
1. **Team Leagues** — real constructors-style multi-driver competitions
2. **Automated Leagues** — structured series (e.g., F1-style) that GridPilot can mirror
3. **Penalty & Protest System** — clean dispute resolution without Discord chaos
GridPilot's goal is to make league racing **consistent, fair, and meaningful**,
without forcing admins into complexity or drivers into mandatory social interaction.
---
# 2. Team Leagues (Constructors Format)
Most iRacing leagues treat teams as cosmetic.
GridPilot treats them as **primary competition units**, like real motorsport.
## 2.1 Team Structure
A team has:
- Team profile (logo, colors, description)
- Captain / co-captains
- Roster of drivers
- Recruitment status
- Participation history
- Team stats + points
Teams exist platform-wide — not only inside one league.
## 2.2 Team Participation in a League
Teams can:
- register for seasons
- assign drivers to race slots
- have different drivers each week
- score parallel points from every contributing driver
## 2.3 Constructors-Style Points
GridPilot supports multiple team scoring methods:
- **All Drivers Count** (every finisher scores team points)
- **Top X Drivers Count** (top 2, top 3, etc.)
- **Weighted Points** (e.g., top driver counts 60%, next counts 40%)
- **Custom Rules per League**
Admins choose their model.
GridPilot handles the math, standings, history, and transparency.
## 2.4 Team Rivalries & Identity
Built-in:
- team standings
- driver contribution breakdown
- cross-season performance
- team “form” (last 5 races)
- recruitment visibility
Team racing becomes **a core part of the platform**, not an afterthought.
---
# 3. Automated Leagues (F1-Style Mirror Systems)
Some admins want complete freedom.
Some drivers want structured, official-feeling series.
GridPilot supports *both* by providing the option for **auto-generated leagues**.
These are **not forced**; they are templates admins or communities can adopt.
## 3.1 What Are Automated Leagues?
An automated league is a **predefined series template** provided by GridPilot that mirrors real motorsport.
Examples:
- F1 World Championship (same tracks, same order)
- F2 / F3 / F4 analogs
- GT3 European Sprint Cup
- IMSA-style multiclass
- DTM-style format
Users dont need to invent formats — they pick from proven structures.
## 3.2 What an Automated League Includes
A template defines:
- car class
- track calendar (pre-set schedule)
- race format (practice, quali, race)
- scoring system (e.g., FIA F1 points)
- bonus points (fastest lap, sprint race, etc.)
- team size (e.g., 2 drivers like Constructors)
- DNF rules
- drop rules (if any)
- penalty rules (warnings → time penalties → DSQ)
Admins can tweak details OR run it 1:1 as provided.
## 3.3 Session Generation
GridPilot can automatically:
- create the full season
- populate all race settings
- optionally generate sessions via browser automation
- clearly list required content for admins
This is still *admin-controlled* automation —
GridPilot enhances, not replaces, human oversight.
## 3.4 Why Automated Leagues Matter
For drivers:
- familiar formats
- real-world relevance
- stability
For admins:
- less planning
- less overhead
- instantly “professional” structure
For GridPilot:
- predictable competition ecosystem
- consistent feature usage
- scalable community engagement
---
# 4. Penalty & Protest System
A clean, structured way to handle disputes — core to GridPilot fairness.
## 4.1 Driver-Protest Flow
Drivers can submit:
- race
- involved drivers
- replay timestamp(s)
- explanation text
- optional clip/video links
GridPilot stores everything in a clean UI.
## 4.2 Admin Review Tools
Admin sees:
- list of protests
- timestamps
- notes
- links
- driver details
- race context
Actions:
- no action
- warning
- time penalty (+5s / +10s / +30s)
- points deduction
- DSQ race
Everything updates automatically.
## 4.3 Automatic Classification Updates
Time penalties:
- re-sort results
- adjust finishing positions
- recalc points
- update team standings
Penalties:
- logged in history
- visible on driver/team pages
- part of season record
## 4.4 Consistency & Transparency
GridPilot helps:
- keep decisions structured
- avoid DM drama
- maintain fairness
- preserve season integrity
Admins stay in full control — GridPilot handles presentation & recalculation.
---
# 5. What We Must Consider (Key Constraints)
## 5.1 Content Ownership
Automated leagues need:
- admins (or bot accounts) who own the tracks
- 1 owned car per allowed class
- iRacing credits to host sessions
GridPilot cannot bypass iRacing content rules.
## 5.2 Avoiding Splits (Very Important)
Splits destroy community identity.
GridPilot must:
- keep leagues small (2030 drivers)
- allow multiple parallel micro-series (F1-A, F1-B, etc.)
- unify standings across micro-series through stats (optional)
We scale *horizontally*, not vertically.
## 5.3 Admin Optionality
Automation is optional.
Manual control must always be possible.
## 5.4 Dont Replace Community
GridPilot provides structure — not social control.
Discord remains important; we complement it.
## 5.5 Avoid excessive complexity
Penalty rules, team formats, automated templates —
all must stay simple, configurable, and not overwhelming.
---
# 6. GridPilot Race Management Summary
GridPilot provides:
- professional team racing
- structured constructors scoring
- predefined (or custom) league formats
- optional auto-generated F1-style calendars
- clean protests and quick penalties
- automatic standings
- minimal admin workload
- consistent racing identity
- scalable competition model
We dont replace iRacing —
we give league racing the **structure, fairness, and identity** it has always lacked.

224
docs/concept/RATING.md Normal file
View File

@@ -0,0 +1,224 @@
# GridPilot Rating
*Our own competition rating system designed for league racing — because iRating was never made for this.*
---
# 1. Why GridPilot Needs Its Own Rating
iRating works great for official races, but it's not built for leagues.
**League racing is fundamentally different:**
- you race against the same people each week
- racecraft matters more than raw pace
- team dynamics influence outcomes
- attendance and consistency matter
- incidents have real consequences
- formats vary massively between leagues
- results depend heavily on season structure
- small grids distort iRating logic
iRating cant measure:
- season performance
- team contribution
- consistency
- clean driving
- decision-making
- rivalry strength
- long-term commitment
- reliability
So we build a rating *specifically for league racing*
where context, progression, and human rivalry actually matter.
---
# 2. What GridPilot Rating Measures
GridPilot Rating = **league racing performance + racing behavior + reliability**.
It captures the full picture of a driver, not only their pace.
### **Core components**
- **Results Strength**
How well you finish relative to the field strength.
- **Consistency**
Stability of finishing positions over a season.
- **Clean Driving**
Incidents per race, weighted by severity.
- **Racecraft**
Positions gained/lost vs. incident involvement.
- **Reliability**
Attendance, DNS/DNF record.
- **Team Contribution**
Points earned for your team; lineup efficiency.
### **Why these matter**
A great league driver is not only fast.
A great league driver is:
- clean
- consistent
- reliable
- competitive
- predictable
- respected
- valuable to teams
Our rating reflects **real league value**, not just raw pace.
---
# 3. Principles of GridPilot Rating
## **1. Competition over matchmaking**
iRating is designed for matchmaking.
GridPilot Rating is designed for **championships**.
## **2. Context matters**
Beating a strong field → worth more.
Clean races → rewarded.
Incidents → penalized.
Attendance → essential.
## **3. No punishing drivers for leagues with small grids**
In iRating, small splits cause unstable jumps.
GridPilot Rating normalizes for field size.
## **4. No obsession with “perfection”**
This is not a chess ELO.
This is racing.
Racing has chaos.
Rating should reflect that.
## **5. Transparent & understandable**
Drivers should always know:
> “Why did my rating change?”
Our UI makes this clear.
---
# 4. Rating Inputs (Conceptual, not equations)
GridPilot Rating is built from weighted contributions:
### **1. Race Placement Score**
Normalized by:
- field size
- field strength
- track difficulty (optional future)
- gaps between positions
### **2. Incident Factor**
Scaled to:
- incident count
- impact on others
- severity
- penalty involvement
### **3. Reliability Score**
- attendance
- quitting early
- DNS
- DNF
### **4. Team Factor**
- points contributed relative to team total
- team finishing efficiency
- team strength
### **5. Season Factor**
Bonus for:
- championship position
- improvement
- performance under pressure
- completing the full season
Everything is transparent and cumulative.
---
# 5. Why Teams Benefit from Rating
Teams need a way to scout drivers that isnt:
- “Do you have 3k iRating?”
- “Are you fast in officials?”
- “Do you join our Discord?”
GridPilot Rating shows:
- reliability
- cleanliness
- consistency
- contribution
- teamwork
- multi-season performance
Thats what teams care about in real league competition.
---
# 6. Why Admins Benefit
Admins get:
- balanced rosters
- fairer splits if needed
- data for assigning classes
- better recruitment
- fewer problems with unreliable drivers
- objective metrics behind decisions
Rating turns leagues into **professional, predictable competitions**.
---
# 7. Why Drivers Benefit
Drivers finally get:
- recognition for more than pace
- a way to show reliability
- stats that show improvement
- incentives to race clean
- a reason to finish the season
- meaningful identity across multiple leagues
GridPilot Rating makes league racing **feel like a true career**, not a collection of spreadsheets.
---
# 8. How It Differs From iRating
| iRating | GridPilot Rating |
|--------|------------------|
| Matchmaking tool | Competition identity tool |
| Random opponents | Same rivals weekly |
| No context | Context-heavy |
| Pace only | Pace + behavior + consistency + reliability |
| Does not reward team play | Team contribution included |
| Penalizes small grids | Normalized for field size |
| No season meaning | Season progression core to system |
| Binary win/loss logic | Full racing context |
GridPilot Rating doesnt replace iRating.
It fills the gap iRating never tried to solve.
---
# 9. Why We're Building This
Because league racing deserves:
- fair recognition
- long-term meaning
- personal progression
- team value
- traits beyond speed
- a competitive environment that feels like real motorsport
No other platform gives league racers their own rating.
And no existing metric truly represents what makes someone great in a league.
GridPilot Rating changes that —
**by measuring the things that actually matter in league racing.**

204
docs/concept/SOCIAL.md Normal file
View File

@@ -0,0 +1,204 @@
# GridPilot — Social Features
*The social layer that connects drivers, admins, teams, and leagues in one unified platform.*
---
## 1. The Purpose of GridPilot Social
Sim racers today are split across:
- Discord servers
- Reddit threads
- scattered DMs
- league-specific chats
- spreadsheets with usernames
There is **no central place** where drivers, admins, and teams discover each other or keep in touch.
GridPilot adds a lightweight, modern social layer designed specifically for the league racing world.
Not a full “social network,” not noisy, not chaotic —
just the tools needed to help people connect efficiently and meaningfully.
---
## 2. Unified User Identity
Every user has one identity across the entire platform:
- profile picture
- username
- country & time zone
- teams
- leagues they race in
- bio (optional)
- links (Twitch / YouTube / Discord / social media)
- availability preferences (days/times they race)
**Admins, drivers, team captains — all the same user type.**
There are no separate accounts or roles.
Roles are permissions, not different identities.
---
## 3. Messaging (Lightweight)
A minimal message system designed for utility, not noise.
### **Driver ↔ Driver**
- send quick messages (questions, coordination, friendly chatter)
### **Driver ↔ Admin**
- ask about sign-ups
- clarify rules
- discuss incidents (if needed)
- handle roster or team questions
### **Team Messaging**
- team chat for coordination
- optional channel for setup sharing or strategy
- not meant to replace Discord, but acts as a unified fallback
### **League Announcements**
- admins can broadcast updates
- drivers receive notifications (web/mobile)
This is *not* a Discord replacement — it fills the gaps Discord cannot cover.
---
## 4. Discoverability Between Users
GridPilot makes it easy for users to find the right people.
### **Find Drivers**
Admins or team captains can filter by:
- region
- time zone
- car classes driven
- experience level
- incident trends
- availability
- open-to-team-invite flag
### **Find Leagues**
Drivers can filter by:
- region
- event time
- car class
- competition level
- team / solo format
### **Find Teams**
Drivers can see:
- teams recruiting
- team bios
- roster
- history
- available seats
This enables a healthy “social marketplace” inside the platform — not chaos, but structure.
---
## 5. Social Timeline (v1: Very Light)
A simple, platform-wide activity feed such as:
- “User X joined League Y”
- “Team Z registered for the new season”
- “Driver A scored P1 in Race 3”
- “Season standings updated”
No memes, no fluff, no spam — just relevant racing activity.
---
## 6. Profiles for Leagues & Teams (Social Extension)
### **League Profiles**
- followers
- announcements
- pinned messages
- season previews
- open sign-ups
- links to streams
### **Team Profiles**
- roster
- captain
- recruiting status
- achievements
- highlights
- invites/private chat
This creates a natural social ecosystem around competition.
---
## 7. Notifications (Non-Intrusive)
Users get updates for:
- sign-up confirmations
- race day reminders
- new messages
- new followers
- schedule changes
- penalties published
- standings updates
Always optional.
Always configurable.
---
## 8. Social Safety Features
GridPilot avoids drama-heavy social problems:
- block/mute user
- report message or behavior
- admin moderation tools inside a league
- no open global chat (avoids toxicity)
- no group spam
- no public “wall posts”
The platform focuses on **purposeful** communication only.
---
## 9. Why GridPilots Social Layer Is Unique
Current tools:
- Discord: chaotic, messy, isolated per league
- Reddit: fragmented
- Forums: outdated
- DMs: unstructured
- iRacing: no social features at all
GridPilot combines the best parts of community interaction:
- discoverability
- messaging
- profiles
- recruitment
- structured announcements
- identity across leagues
…without becoming a noisy distraction.
---
## 10. Summary
GridPilots social features give sim racers what theyre missing:
- a unified identity
- simple ways to connect
- ways for leagues to find drivers
- ways for drivers to find leagues
- team coordination tools
- non-chaotic messaging
- structured community activity
Its the **social layer that sim racing has always lacked**
lightweight, purposeful, and deeply integrated into competition.

270
docs/concept/STATS.md Normal file
View File

@@ -0,0 +1,270 @@
# GridPilot — In-Depth Stats & Scoring
*A modern statistics and scoring engine that gives meaning, context, and clarity to every race, every season, and every driver.*
---
# 1. Purpose of GridPilot Stats
iRacings official results are powerful, but extremely limited:
- no career progression
- no cross-season view
- no team context
- no advanced analytics
- no identity
GridPilot turns league racing into a structured competitive ecosystem by adding **deep, consistent, cross-league analytics** that drivers, teams, and admins can all rely on.
---
# 2. Core Data We Track
GridPilot automatically imports race metadata from iRacing and expands it into a full statistical model.
### **Per Race**
- finishing position
- starting position
- positions gained/lost
- incidents
- best lap
- average lap pace (optional if telemetry available)
- laps completed
- penalties applied
- classification after penalties
### **Per Driver (Season)**
- points
- average finish
- consistency rating
- race attendance
- clean race percentage
- total incidents
- incidents per lap
- podiums
- wins
- DNF count
- performance trend
### **Per Team (Season)**
- total team points
- points contribution per driver
- average team finish
- number of drivers scoring
- team attendance
- team success over time
### **All-Time Stats**
- total races
- total wins
- total podiums
- historical point totals
- incident history
- class-specific stats (e.g., GT4, F4, F3)
- multi-league performance overview
These stats give GridPilot the ability to create meaningful identity and competitive depth.
---
# 3. Scoring Engine (Flexible + Transparent)
Each league defines its scoring rules, but GridPilot standardizes them into clear, consistent structures.
### **Supported Scoring Models**
- Formula-style points (F1, F2, F3, F4, GP2, etc.)
- Endurance-style points
- Fixed points per position
- Bonus points:
- fastest lap
- pole position
- clean race
- most positions gained
### **Drop Weeks**
- configurable number of drops
- visual indicator for dropped results
- fully automated recalculation
### **Team Scoring**
A true Constructors-style model:
- multiple drivers score per race
- flexible configuration (best 2 scores, all scores, custom rules)
- team standings calculated instantly
- team stats update automatically
---
# 4. Driver Performance Metrics (Advanced)
GridPilot doesnt just store results — it analyzes them.
### **Key Driver Metrics**
- **Consistency Score**
Statistical deviation of finishing positions over time.
Lower = more consistent.
- **Pace Index** (optional if telemetry available)
Comparison of average lap times vs. field median.
- **Clean Driving Score**
Incidents per race + severity weighting.
- **Racecraft Score**
Positions gained/lost vs. incident involvement.
- **Progression Score**
Improvement across a season, shown as a trendline.
- **Clutch Factor**
Performance in high-pressure scenarios (late-season races, close battles).
### **Visibility**
All metrics appear on:
- driver profile
- season detail page
- league overview
- team contribution breakdown
Drivers finally see **how** they drive — not just where they finish.
---
# 5. Team Metrics (Depth That Makes Teams Matter)
Teams get **quantitative identity**.
### **Team Performance Metrics**
- team points
- team pace
- average finishing position
- contribution per driver
- lineup efficiency (who delivers consistent points)
- recruitment performance (improvement after roster changes)
- team form (last 5 races)
### **Team Contribution Breakdown**
Each driver has:
- points contributed
- percentage of team output
- consistency
- clean driving impact
- reliability (attendance)
This creates real internal and external rivalries.
---
# 6. Season Intelligence
GridPilot gives leagues a complete analytical picture:
### **Season Insights**
- top improvers
- most consistent drivers
- hard chargers
- clean drivers
- most valuable drivers (team scoring)
- pace distribution
- incident hotspots
- attendance map
### **League Health Metrics**
- retention
- average field size
- finishing rate
- incident averages
- multi-class balancing
Admins get clarity without spreadsheets.
---
# 7. Classification Adjustments (Penalties Included)
Results are never final until all penalties are processed.
GridPilot automatically handles:
- time penalties (+5s / +10s / +30s / custom)
- points deductions
- disqualifications (race-level)
- attendance penalties (if used)
- warning tracking
After admin decisions:
- standings recalculate
- driver stats update
- team stats update
- classification changes are logged
- penalty history is visible
No manual recalculation.
No mistakes.
No drama.
---
# 8. Global Scoring Vision (Future-Friendly)
GridPilot tracks:
- per-league points
- per-season points
- all-time points
- team points
- class-based points
This allows future scaling into:
- global leaderboards
- cross-league rankings
- multi-class ladders
- team world rankings
We dont implement everything on day one —
but the **data model is built for it**.
---
# 9. Why GridPilot Stats Matter
For Drivers:
- proof of skill
- motivation
- long-term identity
- visible improvement
- fairness & transparency
For Teams:
- real constructors competition
- driver scouting
- lineup planning
- prestige and pride
For Admins:
- no spreadsheets
- no miscalculations
- clarity for the community
- instant transparency
- professionalism
For Leagues:
- structure
- identity
- competitiveness
- return of drivers season after season
---
# Summary
GridPilots scoring and analytics system turns scattered league racing into a **structured competitive ecosystem**:
- complete results
- meaningful metrics
- constructors-style team scoring
- clean & consistent standings
- penalty-aware classification
- multi-season depth
- driver identity
- team identity
- league clarity
This is the **foundation** that makes GridPilot more than a tool —
it becomes the home of competition in iRacing league racing.

211
docs/concept/TEAMS.md Normal file
View File

@@ -0,0 +1,211 @@
# GridPilot for Teams
*Teams are the backbone of real motorsport. GridPilot finally gives them the tools theyve always needed in iRacing league racing.*
---
## 1. Why Teams Matter
Teams add:
- identity
- rivalry
- long-term story
- shared goals
- consistency
- progression
- fun beyond solo racing
But in iRacing leagues today, teams are treated as:
- “a tag on a spreadsheet”
- “a logo in a Discord channel”
GridPilot fixes that by making teams **first-class citizens** of the platform.
---
## 2. Team Profiles
Every team gets its own home on GridPilot:
### **Team Profile Includes**
- team name
- logo & colors
- description/bio
- captain / co-captains
- full roster
- active seasons
- past seasons
- team standings
- points history
- achievements
### Why it matters
Drivers finally have somewhere to “belong,”
and teams become part of the leagues story — not a footnote.
---
## 3. Team Creation & Management
Teams can be created by any user:
### Team captains can:
- invite drivers
- approve join requests
- remove drivers
- assign roles (captain, strategist, reserve driver)
- manage the team profile
- mark the team as “recruiting”
### Drivers can:
- request to join
- switch teams between seasons
- follow recruiting teams
- represent their team in multiple leagues
Everything is clean, modern, and transparent.
---
## 4. Team Registration for Seasons
When a league supports team racing, teams can register directly:
### Team season registration:
1. captain chooses league
2. reviews schedule & format
3. submits team
4. roster automatically populated
5. drivers assigned to specific car slots if needed
6. team appears in league standings
No forms.
No DMs.
No spreadsheets.
---
## 5. Constructors-Style Team Competition
This is where GridPilot goes beyond what any league tool offers.
### **How it works**
- multiple drivers from a team race in parallel
- each race week can have different participating drivers
- **all scored points contribute to the team championship**
- standings update automatically from iRacing results
### **Why its superior**
- teams arent just “one driver per car slot”
- stronger teams can field more competitive drivers
- every driver matters
- team strategy becomes part of the championship
- it feels like real motorsport (F1: Constructors, WEC, GT teams)
This is a massive upgrade over the usual “driver only” league structure.
---
## 6. Team Standings & History
Each team gets:
- season standings
- total points
- podiums
- wins
- member contributions
- historical performance graphs
- list of every season ever raced
Over time, this becomes:
- reputation
- prestige
- an asset teams are proud of
Teams become part of the GridPilot universe, not just this weeks race.
---
## 7. Driver Contribution Breakdown
Teams can see:
- which driver scored points
- how many
- consistency over time
- incidents
- average finishing position
- contribution %, similar to "driver share"
This builds:
- internal competition
- motivation
- clarity
- lineup optimization
It also helps captains choose who drives what event.
---
## 8. Discoverability: Find & Recruit Drivers
Teams can mark themselves as:
- **Actively Recruiting**
- **Closed**
- **Looking for reserve drivers**
Drivers can:
- browse teams
- search by region / league / car class
- request to join
- follow teams they like
This solves the huge problem of:
> “Where do we find new drivers for our team?”
---
## 9. Communication Tools (Lightweight)
Teams get:
- team announcements
- team chat
- direct messages
- lineup discussions
- strategy notes
Not a full Discord replacement —
but enough to organize race days without noise.
---
## 10. Why Teams Should Use GridPilot
Teams get what iRacing never gave them:
### ✔ Real constructors-style competition
### ✔ A permanent home
### ✔ A public identity
### ✔ A place to recruit
### ✔ A performance history
### ✔ a reason to stay long-term
### ✔ pride and prestige
### ✔ fewer spreadsheets
### ✔ clearer communication
Teams turn league racing into something that **feels like real motorsport**.
---
# Summary
GridPilot for Teams delivers:
- professional team identity
- constructors-style points
- automatic team standings
- clear contributor stats
- season + all-time history
- recruitment tools
- team chats & coordination
- smooth season registration
Teams finally become **true participants** in iRacing league racing —
not just a tag next to a driver name.