Kevin · Code to Cloud Summit · 2026
distributed music · phones as nodes · live state handoff
No message broker.
No coordination service.
No glue code.
Distribution isn't a feature I added.
It's where Elixir starts.
Most apps are born single-node.
Scaling means escaping the gravity well:
Expensive. Risky. Often a rewrite.
The network, process coordination, supervision, message passing —
already there, whether you use them today or not.
You don't escape the gravity well. You were never in it.
It was Erlang all along.
A weekend project: scrape a large pile of documents —
the kind you may have heard about in the news —
and make them searchable.
Storage on one. Compute on the other.
An ad-hoc datacenter on my desk.
# Spread thousands of extraction workers across both machines.
# Horde decides which node each one lands on.
for email <- emails do
Exstein.Distributed.HordeSupervisor.start_child(
{Exstein.Distributed.EntityExtractor, email.id}
)
end
I didn't write a networking layer.
I changed where processes run.
The pitch: replace Jupyter in your toolbelt.
What you actually get is more — because of distribution.
Your analysis runs where the data already lives.
A framework that runs the BEAM inside iOS and Android apps.
Lots of distribution wins here. Start with a pedestrian one.
drive a running phone app from the laptop · introspect live state
Side project. Analysis tool. Shipping product.
In none of them did I design for distribution.
It was already there when I reached for it.
"We already have orchestration, self-healing, scaling, service discovery."
"So we don't need Elixir."
Both do supervision · self-healing · distribution · scaling.
The overlap is real — and it's only at the surface.
They work at different granularities.
Pod restart is a sledgehammer: kill the container, lose in-memory state, wait seconds.
Supervisor restart is a scalpel: one failed process restarts, millions keep running.
Proof they compose: libcluster's Kubernetes strategy —
BEAM nodes discover each other through the K8s API.
last job — placeholder for the concrete story
Kubernetes manages your machines.
Elixir manages what happens inside them.
You want both.
You've been conditioned to pick one:
easy to build | scales industrially
You can have both.