Early access · Observability for AI robots

See what your robot saw.Then prove your next model handles it.

RoboTrace gives robotics teams one place to record every robot run, replay the synced video and sensors, and re-test new models against that history — so you catch regressions before they hit a real robot. pip install, robotrace login, and your first episode is live.

robotrace loginROS 2 nativeLeRobot readyOpen SDK
Scroll
Why RoboTrace

Yes, your robot already writes logs. Here's why that isn't enough to ship a policy.

Every robotics team starts the same way — rosbags piling up on a dev machine, an MP4 from the wrist cam in someone's Downloads folder, regression checks in a notebook nobody can rerun. It works until a model regresses in the field and you can't tell which run, which sensor, or which scene broke it.

What you already have

Logs your robot writes today — every robotics team starts here, and they hit the same wall about three months in.

  • Rosbags, MP4s, and joint-encoder CSVs sit in different files at different rates. Replaying “what the robot saw at t=14.3s” means stitching them together by hand.
  • 30 GB rosbags live on the laptop that recorded them. They never get backed up, never get searched, and never make it into training data.
  • A new policy can’t run against a rosbag — a rosbag is a recording, not an environment. Re-rolling a candidate means putting the robot back on the table.
  • Regression checks are a notebook on someone’s laptop. When v8 breaks reflective objects, you hear about it from a customer email.
  • “Which policy ran on which robot during the Tuesday demo?” is a 4-hour archaeology session through Slack DMs and shared drives.
Recommended

What RoboTrace adds

One pip install on top of the SDK you\u2019d eventually have to write yourself \u2014 without losing the quarter to write it.

  • One log_episode(...) call ships video, sensors, and motor commands as a single synced episode. Resumable uploads, signed URLs, and R2 storage are already wired up.
  • Every episode is searchable by robot, policy version, scene, and git SHA. The dataset that trained v8 is still there, byte-identical, in week 12.
  • Re-roll any candidate policy against thousands of past episodes. Per-step performance deltas, side-by-side, before the robot leaves the rack.
  • Out-of-distribution alerts and crash replays the moment a deployed robot drifts. You hear about regressions from RoboTrace, not from your customer.
  • Tag, slice, and snapshot runs into reproducible training sets. No git-LFS, no “Maria sent it in Slack on March 12,” no archaeology.

Your engineers' job is the policy that makes the robot do the right thing. RoboTrace is everything between that policy and the engineer — the SDK, the storage, the replay, the regression harness — so the next quarter goes into the model, not into rebuilding the dashboard your team complains about every standup.

The product

One platform. Four problems your team has been duct-taping for months.

  • Replay every robot run

    Walk through a synced timeline of video, sensors, and motor commands. Pause on the exact frame your robot did the wrong thing.

    • Multi-camera support
    • Frame-accurate playback
    • Bookmark moments
  • Test before you ship

    Run a new model against thousands of past runs. See exactly where it improves and where it regresses — before it touches a real robot.

    • Side-by-side model diffs
    • Per-step performance delta
    • Regression dashboards
  • Versioned datasets

    Tag, slice, and snapshot runs into reproducible training sets. Reach for the same data weeks later without juggling git-LFS or shared drives.

    • Tag and filter runs
    • Saved slices
    • S3-compatible exports
  • Fleet observability

    Stream live telemetry from your deployed robots. Get notified the moment a model behaves out of distribution or crashes in the field.

    • Out-of-distribution alerts
    • Crash replays
    • Per-robot drilldowns
How it works

From pip install to a live replay in five minutes.

  • STEP 01

    Install and log in

    One pip install plus one `robotrace login` and your machine is authorized — no copy-pasting API keys out of a portal. The CLI opens your browser, you click Authorize, and the credentials drop into ~/.robotrace/credentials.

    Terminal · bash
    $ pip install robotrace
    Successfully installed robotrace-0.1.0
    
    $ robotrace login
    Logging in this machine via your browser…
    
    To authorize this device, open:
    [robotrace] https://app.robotrace.dev/cli/auth?code=XKDF-PQ4N
    Confirmation code: XKDF-PQ4N
    
    Logged in as art@robotrace.dev
    
  • STEP 02

    Wrap your run loop

    Three lines around the loop you already have. Works with LeRobot, ROS 2 bags, a Gymnasium env, or your own training script. The moment the episode opens, the SDK prints a clickable URL straight to its replay page.

    train.py — output
    # import robotrace as rt
    # 
    # with rt.start_episode(name="pick-and-place v3",
    #                        policy_version="vla-7b@v12") as ep:
    #     rollout(env, policy, ep)
    #     ep.upload_video('./run.mp4')
    
    $ python train.py
    [robotrace] https://app.robotrace.dev/portal/episodes/ep_8f3c
    uploading run.mp4 … 100%   sensors.bin … 100%
    Episode ready in 4.2s.
    
  • STEP 03

    Open the dashboard

    Runs appear in your project within seconds. Walk through the timeline, drop a bookmark on the exact frame the robot got it wrong, or share a permalink that opens to the same instant on your teammate's screen.

  • STEP 04

    Test on past runs

    Trained a new model? Run it against the last 1,000 recorded runs without touching real hardware. See exactly what changed — and what regressed — before anything ships to a real robot.

    rt eval start --episodes "tag:nightly,last:1000" \
      --policy "vla-7b@v13" \
      --diff "vla-7b@v12"
The replay viewer

Every frame. Every joint. Every action.

Your sensor streams and action vectors are time-locked to the video clock at ingest. Scrub frame-by-frame, drop a bookmark, and share a permalink that opens to the exact same instant on your teammate's screen.

robotrace.dev/app/episodes/ep_8f3c · pick-and-place-v3 · 04:21
REC
front_cam · 30fps
720p · 04:21 / 06:48
SRCDSTgripper · 0.97
Front camep_8f3c
Wrist camep_8f3c
Joint torque (R)ep_8f3c
Action prob.ep_8f3c
04:21
06:48
Test on past runs

Don't ship a regression to a real robot.

Every run RoboTrace records becomes a test case. Point a new model at thousands of past runs, see exactly where it does better and where it does worse, and roll the results up into the metrics your team already tracks — all without booking a single hour of robot time.

  • No real-world testing cost
  • Compare any two model versions
  • Slice by tag, environment, or sensor config
  • Webhook into your CI before release
Eval · 1,000 episodes · pick-and-place-v3DURATION 03:42
Metricv12 (base)v13 (cand.)Δ
  • Success rate62.4%78.1%+15.7
  • Avg. reward / step0.4120.521+0.109
  • Collision rate8.2%3.1%−5.1
  • Time-to-goal (s)14.711.2−3.5
  • OOD action share1.9%0.4%−1.5
Recommend: ship v135 of 5 better
Integrations

Plays nicely with your stack.

Bring your own simulator, policy, or dataset format. RoboTrace ships first-class adapters for the stacks robotics teams already use. If yours isn't listed, the SDK accepts raw numpy arrays.

  • ROS 2
    humble · jazzy
    Soon
    importrobotrace.adapters.ros2
  • LeRobot
    datasets + policies
    Soon
    importrobotrace.adapters.lerobot
  • MuJoCo
    Playground / MJX
    Soon
    importrobotrace.adapters.mujoco
  • Genesis
    fast sim
    Soon
    importrobotrace.adapters.genesis
  • Isaac Sim
    NVIDIA
    Soon
    importrobotrace.adapters.isaac
  • Gymnasium
    Farama
    Soon
    importrobotrace.adapters.gym
  • Hugging Face
    datasets + hub
    Soon
    importrobotrace.adapters.hf
  • Raw NumPy
    DIY rollouts
    importrobotrace.adapters.numpy
Pricing

Free while you tinker. Pay when it's on a real robot.

Free

$0

Forever, while you build.

For students, indie roboticists, and weekend tinkerers.

  • Up to 50 episodes / month
  • 1 project, 1 seat
  • 30-day retention
  • Community Discord

Starter

$299/ mo

Per organization.

For freelancers and small research labs running their first paid pilots.

  • Up to 1,000 episodes / month
  • 3 seats, 2 projects
  • 90-day retention
  • Replay & comparisons
  • Email support
Most teams

Team

$999/ mo

Per organization.

For startups shipping policies on real robots and small fleets.

  • Unlimited episodes
  • 10 seats, unlimited projects
  • 12-month retention
  • Eval engine + webhooks
  • Replay regression harness
  • Slack support · 24h SLA

Enterprise

Custom

Annual contract.

For robot companies with deployed fleets and compliance needs.

  • BYO Cloudflare R2 / S3
  • SAML SSO + SCIM
  • On-prem regional pinning
  • SOC 2 (in progress)
  • Dedicated Slack channel

Phase 1 is invite-only and free for every tier. We'll turn on metering once we're sure the product earns its price.

FAQ

The questions we get every week.

5 lines of Python

Start logging in minutes.

Join the early-access cohort. We're onboarding teams one at a time so we can stay close to the painful parts. Tell us what you're building and we'll get back to you this week.

ROS 2 nativeLeRobot readyOpen SDK

Phase 1 · Free for early-access teams · English only