Complete multi-tenant race management platform
Already have an account? Federation Login →
Professional federation management platform with enterprise-grade features
Enterprise-grade tools for national and regional canoe federations
Fullscreen timing UI on your federation domain — no separate SaaS login. Officials select races from the sidebar, capture sprint finishes on video or enter times manually, mark DNS/DNF, and publish straight to results and the public PWA.
Video timing mode at a live federation event — Men U16 K1 200m heat.
Complete tenant isolation with federation-specific branding, settings, and secure data management.
Comprehensive athlete profiles, club affiliations, and performance tracking across all federation competitions.
Scheduling, entries, heat generation, progression rules, and publishing — from registration through final rankings.
Detailed reporting, performance analytics, and federation-wide statistics and insights.
Enterprise-grade security with role-based access control and scalable cloud infrastructure.
Multi-language support, multiple currencies, and compliance with international racing standards.
Currently serving 3 federations across 3 countries
Production-grade architecture — request flow, multi-tenant isolation, performance layers and integrations. Built for national federations that need reliability, security and room to scale.
Designed to embed alongside membership and finance systems.
Three national federations live on dedicated country domains — Norway, Sweden and Denmark.
Native timing desk, ALGE import, entries, heats, live results, rankings and public PWA.
GDPR-friendly hosting in Stockholm with strict per-federation data isolation.
Edge caching, Redis and rate protection for venue-scale public results traffic.
OpenAPI-documented REST API, webhooks and export pipelines for integrators.
200+ page in-product manual, operator runbooks and structured platform transfer programme.
| Service | Role |
|---|---|
| Nginx | TLS termination, static assets, reverse proxy |
| Varnish | HTTP cache for public pages and API responses |
| FastAPI | Async API and server-rendered admin UI |
| React PWA | Progressive web app for athletes and officials |
| PostgreSQL | Primary database with schema-per-federation isolation |
| Redis | Caching, rate limiting and session helpers |
Every request carries a Host header (e.g. racemanager.no).
Platform middleware resolves the federation from that domain and routes all database
queries to the correct isolated schema — full data separation without separate servers
per federation.
Custom country domains (e.g. racemanager.dk) with branded login and cookie isolation.
| Traffic | Handling |
|---|---|
/static, uploads | Served directly at the edge — fast, cacheable |
/app/* PWA | Cached SPA assets; offline-capable service worker |
/api/public/results | Edge + Redis cache for live results under load |
/admin, auth | Direct to app — session-safe, never cached |
| Country domains | Each federation on its own TLD with 301 aliases from legacy subdomains |
| Layer | Use case | Policy |
|---|---|---|
| Varnish | Public results API, competition lists | Short TTL with grace period; purged on result updates |
| Varnish | PWA static assets | Long-lived immutable cache (content-hashed filenames) |
| Redis | Results payloads & version polling | Sub-minute TTL; keeps venues responsive during peak load |
| Nginx | Static files & uploads | Days-weeks cache; deploy cache-busting on JS/CSS |
| Browser | PWA service worker | Offline-first for installed apps at the venue |
Login and API endpoints are rate-limited at the edge and application layer to protect against abuse while keeping public results pages fast during major events.
Operators get real-time platform pulse: health endpoints, tenant traffic analytics, backup status, SSL expiry and automated self-checks — all from the admin dashboard.
Per-federation license payments with webhook-driven activation. Test and live modes supported.
Verification, notifications and password reset via Resend with SendGrid fallback.
Optional AI help desk per tenant with credit-based usage tracking.
Browser push notifications for installed PWA users at competitions.
Country and city breakdown in federation traffic monitoring.
OpenAPI-documented REST API, Excel import/export and webhook endpoints for custom integrations.
| Python 3.13 | FastAPI + async SQLAlchemy |
| PostgreSQL 15 | Alembic migrations |
| React + Vite | PWA frontend |
| Docker Compose | Production orchestration |
| WeasyPrint | PDF results & start lists |
| Excel I/O | Import/export pipelines |
| JWT + cookies | Hybrid auth model |
| Multi-language | EN, NO, SE, DK |
| TLS 1.2+ | Let's Encrypt |
| RBAC | Role-based access |
| GDPR-ready | EU hosting |
| OpenAPI | Interactive API docs |
Integrate with our comprehensive API for custom solutions and third-party tools