Local Windows dashboard · RTX 5080

AIGP Trainer App.

Local FastAPI dashboard for the RTX 5080 training box. Live GPU telemetry (util, VRAM, temp, power), one-click control over overnight_autotrainer.py, live log tail, run history, rollback. Same F1 theme as the docs. Double-click to launch, watch from your phone.

Binary
aigp_trainer_app.py
FastAPI · no framework dep
Launcher
launch_trainer_app.bat
double-click on Windows
Endpoint
http://localhost:8080
auto-opens browser
Remote
--host 0.0.0.0 · phone on same wifi
http://192.168.x.x:8080

§ 01What it does

Live GPU telemetry

SSE

Utilization %, VRAM used/total, GPU temperature, power draw, clock speed. Streamed at 2 Hz via server-sent events. No polling cost.

nvidia-smizero deps

Training state

INTROSPECT

Detects running train_apex.py / overnight_autotrainer.py processes. Shows PID, current phase, live log tail.

wmic · ps

One-click controls

ACTIONS

Start nightly pipeline. Run a single phase. Benchmark. Stop. Rollback to last backup. Each action launches autotrainer in a detached process.

POST /api/*

Run history

BROWSE

Every overnight_runs/ entry with status, duration, promotion decision. Click for detail — per-phase logs, metrics, summary.md.

/runs/runs/<id>

§ 02Install + launch

# First time only — install FastAPI + uvicorn
pip install fastapi "uvicorn[standard]"

# Launch (double-click on Windows)
launch_trainer_app.bat

# Or from the command line
python aigp_trainer_app.py                      # localhost only
python aigp_trainer_app.py --host 0.0.0.0       # LAN access for phone
python aigp_trainer_app.py --port 9090          # custom port
python aigp_trainer_app.py --no-browser         # skip auto-open
The browser auto-opens to http://localhost:8080 on launch. On Windows this is a single double-click. The app bootstraps FastAPI + uvicorn on first run if missing.

§ 03Phone / tablet access

Run on the training box with --host 0.0.0.0, then hit the server from any device on the same wifi:

# On the training PC
python aigp_trainer_app.py --host 0.0.0.0

# Find the PC's IP
ipconfig           # Windows
ip addr            # Linux

# On your phone browser
http://192.168.1.42:8080
Windows Firewall will prompt on first 0.0.0.0 bind. Allow "Private networks" only — don't expose to the public internet.

§ 04Pages + routes

RoutePurpose
/Dashboard — GPU tiles, controls, live log, recent runs
/runsAll runs ever, sortable table
/runs/<run_id>Run detail — per-phase logs, metrics, summary.md, promotion decision
GET /api/gpuJSON GPU stats (one-shot)
GET /api/diskJSON disk usage (free, models/, runs/, recordings/)
GET /api/statusJSON training state (pid, current run)
GET /api/runsJSON list of recent runs
GET /api/run/{id}JSON status.json for one run
GET /api/log/{run}/{name}Plain-text log tail
GET /api/stream/gpuServer-sent event stream of GPU stats @ 2 Hz
GET /api/stream/statusSSE stream of training state @ 0.33 Hz
POST /api/start-nightlyLaunch overnight_autotrainer.py nightly detached
POST /api/start-phase/{name}Launch a single phase (detector/keypoints/policy/export/benchmark)
POST /api/benchBenchmark only
POST /api/stopKill the running training process
POST /api/rollbackRestore last backup into models/latest/

§ 05Architecture

Browser (any device on LAN)
    │
    │ HTTP / SSE
    ▼
┌─────────────────────────────────────────┐
│  aigp_trainer_app.py (FastAPI)          │
│                                          │
│  Pages (inline HTML, _theme.css theme)   │
│  Routes (control + data JSON)            │
│  SSE streams (GPU, status)               │
└──────┬─────────────────┬──────┬──────────┘
       │                 │      │
       │ subprocess      │      │ read
       │ (detached)      │      │
       ▼                 ▼      ▼
overnight_autotrainer.py  nvidia-smi  output/overnight_runs/
    │                                   (status.json, *.log)
    ▼
train_apex.py (detector / keypoints / policy)

Zero framework lock-in. Inline HTML + plain fetch + EventSource. No React, no Tailwind, no Webpack. Uses the same _theme.css as the docs so it feels native.

§ 06Security note

The app executes subprocesses on your machine when buttons are clicked. Only bind to 0.0.0.0 on trusted networks. Never expose to the internet without auth. Default localhost-only binding is the safe mode.

§ 07Auto-start with Windows (optional)

If you want the app running whenever you log in:

  1. Press Win+R → type shell:startup → Enter
  2. Drag a shortcut to launch_trainer_app.bat into that folder
  3. Every Windows login spawns the dashboard silently

For always-on behavior (even when nobody's logged in), wrap in a Windows Service via nssm or sc.exe. Not needed unless you're doing multi-user training server duty.

§ 08Related

Training Runbook

APP

The CLI counterpart: overnight_autotrainer.py subcommands, config knobs, scheduling.

Winning Playbook

STRATEGY

Why we train what we train. Effort budget, reliability math, data pipeline moat.

Local GPU Training

HARDWARE

RTX 5080 install, venv, manual train_apex.py usage, cloud vs local.

APEX Pipeline

REF

What each phase does, observation schemas, reward weights.

TRAINER-APP · v1.0 2026-04-21 · ← Index · Runbook