Skip to content

margic/director

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

95 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sim RaceCenter Director Banner

ORCHESTRATE THE CHAOS

TypeScript Electron React License Status

Website: simracecenter.com Β· YouTube: @simracecenter


🏁 MISSION CONTROL

Sim RaceCenter Director is your mission-critical, on-premise execution engineβ€”the nerve center bridging cloud-based Race Control with your local race center hardware and software ecosystem (OBS, iRacing, and beyond).

Think of it as the broadcast control room for high-performance sim racing operations. This Electron-powered application runs locally on your race center PC, providing secure, real-time orchestration of streams, telemetry, and race events.

Director Icon

Core Capabilities

  • πŸ” Secure Cloud Bridge β€” Azure AD authentication with local execution
  • πŸŽ₯ OBS Integration β€” Broadcast control at your fingertips
  • 🏎️ iRacing Telemetry β€” Real-time race data streaming
  • ⚑ High-Performance Architecture β€” TypeScript + Electron + React
  • 🌐 Cross-Platform β€” Windows, Linux AppImage support

API Documentation

Security & Trust


πŸ› οΈ PIT CREW SETUP

Prerequisites

Before entering the pit lane, ensure you have:

  • Node.js 18+ (Download)
  • npm or pnpm package manager
  • Git for version control

Installation Sequence

  1. Clone the repository

    git clone https://github.com/margic/director.git
    cd director
  2. Install dependencies

    npm install
  3. Configure environment

    cp .env.example .env
    # Edit .env with your Azure AD and Race Control credentials
  4. Start development mode

    npm run dev

Build for Production

# Build the application
npm run build

# Create distributable packages
npm run dist

Output locations:

  • Windows: release/Sim RaceCenter Director Setup.exe
  • Linux: release/Sim RaceCenter Director.AppImage

🏎️ RACE OPERATIONS

Launch Protocol

Development Mode:

npm run dev

This starts the Vite dev server and launches the Electron application with hot-reload enabled.

Production Mode: Run the built executable from the release/ directory after building.

Operational Workflow

  1. Authentication β€” Sign in with your Azure AD credentials
  2. Cloud Sync β€” Director establishes secure connection to Race Control
  3. Local Integration β€” Configure OBS, iRacing, and other integrations
  4. Go Live β€” Execute broadcast operations from the control panel

Key Commands

Command Description
npm run dev Start development environment with hot-reload
npm run build Compile TypeScript and build production assets
npm run dist Create platform-specific installers

πŸ“‘ TELEMETRY DATA

Technical Stack

Frontend Layer

  • βš›οΈ React 19.2.3
  • 🎨 Tailwind CSS 4.1
  • πŸ”· TypeScript 5.9.3
  • ⚑ Vite 7.3

Backend Layer

  • πŸ–₯️ Electron 39.2.7
  • πŸ” Azure MSAL Node
  • πŸ› οΈ Node.js APIs
  • πŸ“¦ Electron Builder

Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     Cloud Race Control (Azure)          β”‚
β”‚         (Command Center)                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚ Secure Bridge
               β”‚ (Azure AD Auth)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    Sim RaceCenter Director (Local)      β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚    β”‚  Electron Main Process       β”‚     β”‚
β”‚    β”‚  - Auth Service              β”‚     β”‚
β”‚    β”‚  - IPC Handlers              β”‚     β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚               β”‚                          β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚    β”‚  React Renderer              β”‚     β”‚
β”‚    β”‚  - Control Dashboard         β”‚     β”‚
β”‚    β”‚  - Broadcast Management      β”‚     β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
      β”‚                 β”‚
β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”
β”‚    OBS    β”‚    β”‚  iRacing  β”‚
β”‚  Control  β”‚    β”‚ Telemetry β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Feature Matrix

Feature Status Description
πŸ” Azure AD Auth βœ… Active Secure cloud authentication
πŸŽ₯ OBS Integration βœ… Active Broadcast scene control
🏎️ iRacing API βœ… Active Live telemetry streaming
πŸ“Š Dashboard UI βœ… Active React-based control interface
🌐 Cross-Platform βœ… Active Windows + Linux support

Brand Guide


🀝 JOIN THE TEAM

We're always looking for skilled engineers to join the pit crew. Whether you're interested in improving the control interface, optimizing broadcast integrations, or enhancing telemetry featuresβ€”your contributions are welcome.

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/telemetry-enhancement)
  3. Commit your changes (git commit -m 'Add advanced telemetry overlay')
  4. Push to your branch (git push origin feature/telemetry-enhancement)
  5. Open a Pull Request

Development Standards

  • πŸ“ Follow TypeScript best practices
  • πŸ§ͺ Write tests for new features (when test infrastructure exists)
  • πŸ“– Update documentation for user-facing changes
  • 🎨 Match the existing code style
  • βœ… Ensure builds pass before submitting PRs

Communication Channels


πŸ“œ LICENSE

This project is licensed under the GNU General Public License v3.0.

See LICENSE for full details.


Built with ⚑ by the Sim RaceCenter Team

Website YouTube

Race Director. Race Control. Race Smart.

About

Sim RaceCenter Director UI App

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages