Neutron Elixir
A BEAM-native backend framework for systems that must stay up. OTP supervision, Plug + Bandit, Phoenix-style channels, tiered ETS cache, and a typed Nucleus client for all 14 data models.
Let it crash. The supervisor handles the rest.
Fault tolerance isn't a library — it's the runtime.
Every other language treats a crashed request as an outage. On the BEAM it's just a restart. Neutron Elixir uses OTP supervisors, isolated processes, and message passing so a broken handler can't take the server down. Pair that with a Plug-based router, Bandit (pure-Elixir HTTP/2), a Phoenix-style channel behaviour, and a full Nucleus client — and you get a backend that stays up while you ship.
defmodule MyApp.Router do
use Neutron.Router
plug Neutron.Middleware.RequestID
plug Neutron.Middleware.Logger
plug Neutron.Middleware.Recovery
plug Neutron.Middleware.CORS
plug Neutron.Middleware.RateLimit, per_ip: 100
plug Neutron.Middleware.Auth
get "/health", do: send_resp(conn, 200, ~s({"status":"ok"}))
post "/messages" do
%{"text" => text} = conn.body_params
case MyApp.Messages.create(text) do
{:ok, msg} -> json(conn, 201, msg)
{:error, errs} -> problem(conn, 422, errs)
end
end
channel "room:*", MyApp.RoomChannel
endlibcluster discovery included.What it's for
High-concurrency APIs that absolutely cannot go down. Real-time systems with tens of thousands of WebSocket connections. Multi-node clusters where nodes fail and traffic keeps flowing. Chat, notifications, presence, telemetry collection — anywhere the cost of a restart is higher than the cost of a crash.
Why the BEAM?
Because it was designed for concurrency, distribution, and fault tolerance at telecom scale. Isolated processes with preemptive scheduling, message passing instead of shared memory, supervisor hierarchies that restart the broken parts automatically. It's the only runtime where "nine nines" is a real engineering target instead of marketing.
Part of a bigger system
Run Neutron Elixir for the services that must stay up. Pair it with Neutron TypeScript on the edge, Rust for performance-critical paths, Go for microservices — all reading the same Nucleus database. Each piece at its peak, one source of truth.