I built a web UI for sparkrun

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.

Repo: GitHub - mcampa/sparkrun-ui: Web UI for sparkrun — launch and monitor inference workloads on NVIDIA DGX Spark · GitHub

screenshots, full docs, and Docker setup are all there. Happy to take feedback or PRs.

I’m not quite sure what I’m doing wrong but if I try to run any recipe that requires two nodes or more I get an error about atlas only being able to launch one node

Ohh, thanks! This looks great!

Does it allow modifying the “mods”?

Also, I would love to see a “remote” version, although it seems that would require the “double bundling” you talk about in the README.

Very cool, any chance to be able to filter the recipes by single/multiple sparks?