OpenRegularity Large Logo

Open Regularity Rally Platform

The ultimate open-source system for regularity (TSD) rally organizers. Configure checkpoints, track teams via real-time GPS telemetry, and automate penalty score calculations with sub-second precision.

Try Interactive Demo Try Cloud Platform Learn More
TSD Rally Mechanics

Precision Over Pure Speed:
What is Regularity?

Unlike speed rallies, Time-Speed-Distance (TSD) Regularity Rallies challenge drivers to maintain a highly specific average speed along open public roads.

Organizers set up a **Speed Table** specifying target speeds for each part of the track. Checkpoints are kept hidden from the participants. Every 0.1 seconds of deviation (being early or late) at these checkpoints results in penalty points. The crew with the fewest penalty points wins.

Dynamic Speed Tables

Target speed changes at exact distances from the starting line.

Secret Checkpoints

Control points are hidden. Drivers cannot anticipate timing checks.

TSD Timing Concept

START POINT
0.0 km • Start Time 10:00:00
Target Speed: 50.0 km/h
SECRET CHECKPOINT (CT 1) Hidden
1.25 km • Ideal Time 10:01:30
Car crossed at 10:01:30.8
+0.8s deviation = 8 Penalties
FINISH POINT
2.50 km • Ideal Time 10:03:00
End of regularity test leg

Built For Precision Rally Management

OpenRegularity provides the complete tools required to stage, track, and score time-speed-distance events with modern digital efficiency.

Event & Stage Setup

Configure multi-stage rallies, set up legs, and control checkpoints. The application allows creation of Routes with the help of OSRM-API routing, and supports generation of Roadbooks based on routing information provided by OSRM.

Multi-Source Tracking

Stream telemetry directly via mobile apps and custom tracking hardware APIs. It now integrates with Traccar, which can send information to the platform, allowing the system to ingest data from trackers supported by Traccar.

Precision Scoring

Automatic timing interpolation calculates exact passage crossing times. Integrates speed tables to compare actual times with ideal times instantly.

Live Map Stream

WebSocket-based real-time dashboard featuring MapLibre GL maps. Monitor crew locations and see live leaderboard updates as they happen.

Co-Organizer Collaboration

Invite members to help manage events. Support for roles like Admin, Editor, or Viewer ensures secure team collaboration throughout the rally lifecycle.

Developer APIs & Keys

Generate programmatic API keys for users and participants. Stream coordinates or fetch results via OpenAPI-compliant REST endpoints.

Interactive TSD Timing Sandbox

Experience the mathematical core of the OpenRegularity scoring engine. Calculate target times or simulate a live run.

1. TSD Ideal Time Calculator

Enter a target speed and a distance to calculate the exact duration (ideal time) it should take. You can also add an actual duration to see penalty points (1 penalty per 0.1s deviation).

Ideal Elapsed Time: 90.0 seconds
Deviation: +0.8 seconds
Calculated Penalties: 8 Points

2. Live Telemetry Simulator

Watch a simulated car stream real-time GPS coordinates. The OpenRegularity simulation engine calculates crossing events at checkpoints, showing real-time logs and penalties.

Start
CT1 (500m)
CT2 (1000m)
Finish (1500m)

Live Timing Logs

// Press "Start Simulation Run" to begin logging...

Live Scoring Results

CT 1 (500m)
--
CT 2 (1000m)
--
TOTAL SCORE
0 pts
Technology Stack

Engineered for
Maximum Reliability

OpenRegularity splits concerns between a Go backend and a Svelte 5.0 frontend, integrating with OSRM-API for routing and Traccar for tracker telemetry ingestion.

Go Fiber Backend: Low-latency request routing and efficient memory management to handle thousands of concurrent GPS telemetry packets.

Svelte 5.0 Dashboard: Leverages Svelte's reactive runtimes to update maps and leaderboards without layout thrashing.

NATS Messaging: Asynchronous communication bus to process live tracking events and publish changes immediately to websocket streams.

System Architecture

GPS Tracker / Traccar
Telemetry Data
Go API Server /tracking uploads
PostgreSQL DB SQLc store
Passage Engine NATS workers
WebSocket Stream /service/ws/sstream
Svelte 5.0 App Organiser Dashboard

Deploy in Minutes

OpenRegularity is built to be self-hosted. Run it locally or scale it globally in your cloud infrastructure.

Local Development & Docker Compose

Run the entire stack locally with standard container orchestration. It bundles the Go API server, PostgreSQL database, and Caddy proxy server right out of the box.

# Clone and launch dependencies
git clone https://codeberg.org/openregularity/openregularity-server.git
cd openregularity-server/examples/sample-environment
# Launch database, NATS, and proxies
docker compose up --build
Explore Sample Environment

Production Kubernetes Manifests

Ready for live events. Scale WebSockets and parsing workers independently. Uses Kustomize structures to define namespaces, database configurations, and network security policies.

# View the K8s orchestration directory
cd openregularity-server/examples/sample-environment/k8s
# Deploy full architecture stack via kustomize
kubectl apply -k .
View Kubernetes Setup

Host Your Next TSD Rally Today

Join organizers worldwide setting up dynamic regularity rallies. Access the full frontend and backend codebases for free, or launch instantly using our managed platform.