Skip to content

Dashboard

The operator dashboard is at http://localhost:4321/dashboard. It provides real-time visibility into every active job, printer, and revenue metric.

The job board is the primary view. It shows all active jobs grouped by state:

ColumnDescription
PrintingJobs actively running on a machine
QueuedJobs waiting for printer assignment
Post-ProcessJobs cooling, being de-supported, or finishing
ReadyJobs awaiting customer pickup or shipping

Click any job card to see full detail: customer, SKU, material, estimated completion, printer, and all state transitions with timestamps.

The sidebar shows live printer status polled every 30 seconds by the AutoPilot:

  • Online — responding to API calls
  • Idle — ready to accept a job
  • Printing — active job, with progress percentage and ETA
  • Paused — job paused (operator or failure)
  • Error — requires attention
  • Maintenance — manually taken offline

Click a printer to see temperatures, current file, and recent jobs.

The /dashboard/analytics sub-page shows:

  • Daily revenue — actual vs. target
  • Printer utilisation — uptime percentage per machine
  • SLA compliance — percentage of jobs completed on time
  • Material waste — grams wasted per job (from slicer reports)
  • Top SKUs — by volume and by revenue

All metrics are exported to Prometheus and visualised in Grafana at http://localhost:3000 (ecosystem mode).

From the dashboard you can:

  • Release a job — manually start a queued job on a specific printer
  • Pause a job — pause an active print
  • Cancel a job — cancel and refund (triggers Stripe refund flow)
  • Reprioritise — move a job to the front of the queue
  • Mark ready — manually advance a job to the READY state
  • Add note — attach an operator note to a job

The dashboard shows in-app notifications for:

  • New orders
  • Print failures
  • Low inventory alerts
  • Jobs ready for shipping

Notifications are also sent via email and OpenClaw (if configured). See OpenClaw Integration for mobile notifications.