I’ve been using sparkrun on a DGX Spark for a while now and it’s genuinely great, the CLI workflow is clean, recipes are a smart abstraction, and once a model is running it just works.
But the friction was in the switching. Every time I wanted to try a different model I’d SSH in, list the recipes, eyeball the YAML for the right one, dry-run it to make sure I had the flags right, launch it, then keep polling sparkrun cluster status to figure out when it was actually ready to talk to. Not terrible, but enough context-switching that I found myself sticking with one model longer than I wanted to.
So I built a browser interface for it: sparkrun-ui.
It wraps the sparkrun CLI and adds a few things that make day-to-day use faster:
- Dashboard: everything running right now, one click to stop a workload. No more cluster status and copy-pasting cluster IDs.
- Recipe browser: all your registries, filterable by model name, runtime, whatever. Click through to see the YAML without grepping through a directory.
- Launch wizard: pick a recipe, edit the YAML in the browser with live validation, preview the actual sparkrun run command it’ll execute, then launch. Logs tail inline as the model comes up.
- Chat: talk to any running model directly from the browser. The send button knows the health-check endpoint, so it won’t let you fire off a message until the model is actually ready. This is mostly for testing. (I’d like to add token generation stats in the future)
- Benchmarks: browse past runs with throughput and TTFR charts, kick off new ones without remembering the CLI flags.
- Cluster monitor: live per-host CPU / GPU / memory bars with a few minutes of sparkline history. Quick way to spot if something’s off.
The app is just an NexJS app, and you can start it without cloning the code with:
npx sparkrun-ui
That’s it. If you want to lock it to loopback or change the port:
npx sparkrun-ui --host 127.0.0.1 --port 4000
It needs to run on your DGX Spark, and sparkrun needs to be installed.
There’s also a Docker image and docker compose file if you prefer using Docker.
screenshots, full docs, and Docker setup are all there. Happy to take feedback or PRs.