JuliaCon 2026

I'm Zach, Lead Software Engineer on the SHERPA project at NASA ARC. I've been doing rover strategic simulations and mission planning for the VIPER project for a few years now. I dabble in indie game development, I released my game Vector Prospector on Steam in 2020. I've been programming since I was eight, and I live in Newport Beach, California.


Session

08-14
11:30
15min
Building Production Desktop GUIs in Julia at NASA with Dear ImGui and Mirage.jl
grob

Julia has great tools for computation, but if you want to build an interactive desktop application with maps, real-time overlays, and custom visualizations, your options are limited. The usual answer is to reach for a web framework or Electron, which means maintaining a split codebase with a server layer in between.

That's what we did initially for SHERPA, a mission planning tool for NASA's lunar surface operations. We had a React frontend talking to a Julia backend over a local server, and it was clunky. Two languages, constant serialization, and every UI change meant context-switching between JavaScript and Julia. So we scrapped it and rebuilt the entire GUI in Julia using Dear ImGui (via CImGui.jl) for the interface and Mirage.jl, a custom OpenGL wrapper I wrote that gives you an HTML5 Canvas2D-style API for 2D and 3D rendering. No shader code or buffer management, just draw_image() and fill_rect() calls.

The real win is how this integrates with Julia's REPL. Our workflow is: start the GUI, use it, close the window, edit a function, reopen the GUI with all your state intact. Maps stay loaded, camera position is preserved, your scenario is right where you left it. This made it possible for a small team to go from nothing to a production tool in a few months, iterating on the GUI the same way you'd iterate on any Julia code.

This approach isn't specific to aerospace. Anything that needs interactive visualization on top of a Julia computation backend (lab instruments, geospatial tools, simulation dashboards, data exploration) could use the same stack. This talk covers how it all fits together, a live demo of the tools, and practical advice for building your own.

Julia in Industry
Room 5