You're the operational backbone of your league. While the league admin handles strategy and configuration, you keep race day running — managing schedules, importing results, handling the roster, and making sure everything is published and accurate. This guide covers your day-to-day responsibilities.
Your Role
What you do vs what the league admin does
The line between race director and league admin is clear:
| Responsibility | Race Director | League Admin |
|---|---|---|
| Edit the schedule | Yes | Yes |
| Publish the schedule | Yes | Yes |
| Import and publish results | Yes | Yes |
| Manage the roster (approve/deny) | Yes | Yes |
| Configure scoring presets | Yes | Yes |
| Create announcements | Yes | Yes |
| View analytics | Yes | Yes |
| Create/delete seasons | No | Yes |
| Lock results | No | Yes |
| Assign stewards to protests | No | Yes |
| Manage billing and Stripe | No | Yes |
| Manage league staff roles | No | Yes |
| Configure league settings | No | Yes |
| Delete the league | No | Yes |
Think of it this way: you handle race operations, the league admin handles league administration.
How you get the role
The league admin assigns you the Race Director role through League Settings > Staff Management. They invite you by email or username, then assign the role.
Your permissions
As a race director, you have 12 permissions:
| Permission | What it lets you do |
|---|---|
schedule.edit | Create and edit rounds in the season schedule |
schedule.publish | Make the schedule visible to drivers |
roster.view | See all registration details |
roster.manage | Edit roster entries |
roster.approve | Approve or deny registration requests |
results.import | Upload results via CSV or iRacing import |
results.edit | Correct results after import |
results.publish | Publish results (changes status to official) |
scoring.configure | View and configure scoring presets |
announcement.create | Create league announcements |
announcement.publish | Publish announcements to members |
analytics.view | View league and season analytics |
Schedule Management
Creating and editing rounds
Each season has a schedule of rounds. To manage it:
- Go to the season page and open the Schedule tab
- Click Add Round to create a new one
- Fill in the details:
- Track — which circuit or oval
- Date and time — when the race takes place (uses the league's timezone)
- Configuration — track layout, weather, session details
- Save the round
You can reorder rounds, change dates, and update track info at any time before the round is completed.
Season calendar overview
The schedule view shows all rounds in chronological order with their status:
- Scheduled — upcoming, hasn't been raced yet
- Active — race is happening now (or today)
- Completed — race has been run, results may or may not be imported yet
This gives you and your drivers a clear picture of what's coming up and what's been completed.
Race Day Operations
Pre-race checklist
Before each round:
- Confirm the roster — check that registrations are approved and car numbers are assigned
- Review the round details — correct track, correct date, correct session configuration
- Post an announcement if there are last-minute changes (weather, track swap, time change)
- Share server details through your league's communication channel (Discord, announcements)
Importing results
After the race, you need to get results into Racey. There are three methods:
iRacing import (recommended)
If your league is linked to iRacing:
- Go to the round page
- Click Import from iRacing
- Select the session from the available iRacing league sessions
- Review the imported data
- Confirm the import
This pulls in positions, lap times, incidents, fastest laps, and finish statuses automatically.
CSV upload
For leagues not using iRacing direct import:
- Go to the round page
- Click Import Results
- Upload a CSV file with driver results
- Map the CSV columns to Racey fields (position, driver, laps, incidents, etc.)
- Review and confirm
Manual entry
You can also enter results manually:
- Go to the round page
- Click Add Result for each driver
- Enter position, laps completed, fastest lap, incidents, and finish status
- Repeat for all drivers
This is the most time-consuming method but gives you full control.
Reviewing results before publishing
After import, results are in Pending status. Before publishing:
- Spot-check the data — are positions correct? Are the right drivers listed?
- Verify finish statuses — did any DNFs or DSQs get captured correctly?
- Check lap counts — does the leader's lap count match the actual race?
- Look for missing drivers — anyone who raced but isn't in the results?
If something's wrong, use Results > Edit to correct individual entries. Every correction is tracked in the audit trail with the original value, new value, and your reason.
Handling result disputes
Sometimes a driver will say "my result is wrong" before it becomes a formal protest. At this stage, you can:
- Check the source data (iRacing session or CSV)
- If there's an error, correct it using results edit
- If it's a scoring dispute, check the season's scoring configuration
- If it's an on-track incident, direct them to file a formal protest
You don't make stewarding decisions — that's the steward panel's job. Your role is making sure the data is accurate.
Results Management
The four result states
Results progress through four states:
flowchart LR
A[Pending] --> B[Reviewed]
B --> C[Official]
C --> D[Locked]
| State | What it means | Who can change it |
|---|---|---|
| Pending | Just imported, not checked | Race Director, League Admin |
| Reviewed | Checked but not official yet | Race Director, League Admin |
| Official | Published — counts toward standings | Race Director, League Admin |
| Locked | Finalized — no further edits | League Admin only |
Publishing results
When you're satisfied the results are correct:
- Go to the round's results page
- Click Publish Results
- Status changes to Official
Publishing triggers several things:
- Standings recalculation — championship points update automatically
- Notifications — all registered drivers are notified
- Discord — if the league has Discord integration, results are posted to the configured channel
- Overlays — broadcast overlays update with the new data
About locking results
Only the league admin can lock results (you can't). Locking prevents any further edits — useful after the protest window closes and standings are final. If locked results need correction, the league admin must unlock them first.
Roster Management
Viewing registrations
Go to Roster in the season navigation. You'll see all registrations organized by status:
- Pending — waiting for approval
- Approved — confirmed drivers
- Denied — rejected applications
- Waitlisted — waiting for a spot to open
- Withdrawn — drivers who pulled out
Approving and denying registrations
For each pending registration:
- Review the driver's application data
- Check their sim profile (iRating, safety rating) if linked
- Click Approve or Deny
- The driver receives a notification with the outcome
Managing car numbers
Car numbers must be unique within a season. If two drivers want the same number:
- The first approved registration gets priority
- You can ask the second driver to pick a different number before approving
- If needed, edit an approved registration's car number through the roster management page
Racey tries to use each driver's preferred number (set in their profile), but you have final say.
Scoring
Viewing the scoring configuration
The league admin sets up the scoring system for each season, but you need to understand it to answer driver questions. Go to Scoring in the season navigation to see:
- Active preset — which scoring system is in use (F1, NASCAR, IndyCar, IMSA/WEC, Oval Weekly, Road Weekly, GT3, or Heat + Feature)
- Position points — how many points each finishing position earns
- Bonus points — extra points for pole, fastest lap, most laps led, positions gained, clean race
- Drop weeks — how many worst rounds get excluded from the championship total
- Multi-class rules — whether classes score separately
- Team scoring — method used for team standings (best N, sum all, or average all)
Understanding how points are calculated
For each driver, each round, the scoring pipeline works like this:
- Position points from finishing position
- + Bonus points (pole, fastest lap, laps led, positions gained, clean race)
- + Stage points (NASCAR-style stages, if enabled)
- - Penalty points (from steward rulings with points penalties)
- = Round total
If half points are enabled and the race completed less than 50% of scheduled laps, all points are halved.
After all rounds are scored, drop weeks exclude the N lowest rounds, and the remaining rounds sum to the championship total.
Reporting scoring issues
If a driver or you spot a scoring issue:
- Check if the result data is correct (wrong position = wrong points)
- Check if a penalty was applied that affected points
- Check if the scoring config matches what was intended
- Raise it with the league admin if the config needs changing
Note: scoring configuration on active seasons should generally not be changed mid-season, as it recalculates all standings retroactively.
Announcements
Creating announcements
You can post announcements to keep drivers informed:
- Go to Announcements in the league navigation
- Click Create Announcement
- Fill in the title and content
- Choose the type: general, schedule, results, ruling, registration, or broadcast
- Optionally target specific roles (e.g., only drivers, or only stewards)
- Choose whether to pin the announcement
- Publish
When to use announcements vs Discord
| Situation | Use |
|---|---|
| Schedule change | Announcement (official record) + Discord (immediate visibility) |
| Server password | Discord only (not something you want permanently posted) |
| Season rules update | Announcement (pinned) |
| Quick reminder | Discord |
| Post-race summary | Either — depends on your league's style |
Announcements trigger notifications to all targeted members and get posted to Discord automatically if the integration is configured.
Related Guides
- League Admin Guide — the full admin perspective, including features only admins can access
- Steward Guide — how protests and penalties work (you may need to explain this to drivers)
- Driver Guide — understand the driver experience so you can support them
- Broadcaster Guide — how your published results feed the broadcast overlays
- Quick Reference — full permission matrix and workflow cheat sheets