Skip to main content

Data Import

Roadmap

Built-in data import is not yet shipped in v0.1.0. Today the only way to get data in is through the JSON REST API or the edge ingester.

What HH-DM ships

HH Data Management supports JSON import. You hand it a JSON document matching its export schema and it ingests every entity.

What Race Platform will support

SourceStatus
JSON matching the API's entity schemasRoadmap
CSV lap-by-lap timing exports (Al Kamel, RaceMonitor, MyLaps)Edge-ingester path today; UI import roadmap
MoTeC .ld / .ldx telemetryPhase 6
Pi Toolset DAE telemetryPhase 6
Bosch BMS2API telemetryPhase 6

What you can do today

Three paths exist for getting data in:

1. POST to the REST API

curl -X POST http://localhost:6161/laps \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{ "sessionId": "...", "carId": "...", "lapNumber": 12, "lapTimeMs": 91234, ... }'

2. Use the edge ingester (replay adapter)

The Rust binary at apps/edge-ingester/ reads a saved Al Kamel CSV and POSTs HMAC-signed lap events to the API. Run it like:

cd apps/edge-ingester
cargo run -- replay \
--feed fixtures/sebring-2023-fp1.csv \
--api http://localhost:6161 \
--token "$TOKEN"

This is the verified path for bulk-loading historical timing data. Live timing adapters (the kind that talk to a live IMSA feed) are roadmap.

3. Run the seed

make seed

Loads the canned Sebring 12 Hours event with one car and 5 laps. Use this to bootstrap a fresh dev stack.

What's coming

  • JSON import UI matching the export schema
  • CSV import wizard with column-mapping
  • Live timing connectors (IMSA, WEC, ELMS feeds)
  • Telemetry pipeline — MoTeC / Pi / Bosch readers