Rajdeep Singh

← Back to work

USC Formula SAE Racing Team Dashboard

Next.jsFastAPIWebSocketsDocker

Real-time telemetry and data platform for USC's Formula SAE car. Streams live sensor data over WebSockets, manages configuration across ~10 subteams through YAML-driven forms, and auto-injects test configs before every run.

Login screen

Architecture

Three Docker containers behind a Caddy reverse proxy with auto-HTTPS:

  • Frontend — Next.js 14, shadcn/ui, Tailwind, Recharts
  • Backend — FastAPI, SQLModel, SQLite, JWT auth, WebSocket telemetry
  • Infra — Caddy TLS termination, volume-mounted SQLite

Key Systems

  • Live telemetry — DAQ pushes JSON frames over WebSocket; the frontend renders configurable charts with auto-reconnect and exponential backoff
  • YAML-driven forms — each config file defines field types, tab layout, lookback diffs, and stale-data warnings
  • LDX injection — a file watcher writes current form state into .ldx XML configs before each test run
  • Access control — per-user subteam scoping; every mutation logged with user, timestamp, and diff

Telemetry dashboard

Source coming soon.