JuliaCon 2026

Building and Shipping Omakase Julia Distributions
2026-08-12 , Room 1

What if using Plots, ModelingToolkit was instantaneous, the first time on a fresh Julia installation? What if your students, users, and/or colleagues could run a command to install something and then everything "just worked"? julia was never really good at this; we optimized the vanilla distribution for flexibility, which is somewhat at odds with a smooth first-time experience. But this flexibility doesn't fit everyone. We'll present a set of tools to curate Julia distributions for your specific user base, replacing some flexibility with a more reasonable green-path experience.


Many advancements in the latest Julia versions (v1.11 and v1.12) have focused on making the core of the language leaner for users who want flexibility and smaller binaries. While we are happy to have these features available in the language, we have noticed the average user does not prioritize either of these two for their day-to-day work. More importantly, we have found they have a less optimal experience using the language for common workflows due to these changes.

The situation became a significant user experience issue as we were building out the Dyad stack, as it heavily depends on a large part of the ecosystem, including over 400 of the top Julia packages, the full SciML stack, and proprietary algorithms. In our internal testing, users with machines as little as a few years old could easily spend over 30 minutes getting set up before they could start to run analyses for models they created.

We found that the lean, approximately 300MB, download for Julia v1.11, or the performance gains from a very custom JULIA_CPU_TARGET, did not address our users' needs. Discomfort with these options being the defaults has also surfaced multiple times from the community, in Julia’s Slack and several Discourse posts. There is even a tool to track slowness!

In this talk, we present the solution used to deliver Dyad Studio (a JuliaHub product) and the tooling you can use to prepare custom distributions to address your and your users' needs. These distributions can be shared as tarballs or even using a custom juliaup server.

We show this approach significantly reduces time-to-first-plot, including installation, even for complex analyses involving precompilation-heavy workloads, such as Dyad's modeling and analysis workflows.

We consider this a viable solution for both enterprise users of Julia and for communities of users with similar needs.

Proudly developing Dyad with JuliaHub and improving the julia ecosystem in the meantime, removing one sleep(1) at a time. Pluto maintainer. Past lives include software engineer, a business analyst, a consultant, a data entry intern, a waiter and a sailor.

This speaker also appears in:

Joris is the technical team lead for the Dyad Studio product team. He has been shipping products built on top of Julia, such as Dyad Studio and JuliaSim, to users for close to 5 years and deploying Julia powered web applications for over a decade.