Distributed DuckDB on the Beam
Distributes DuckDB queries across BEAM nodes when Polars maintenance became unsustainable.
Web framework for the BEAM — Erlang, Elixir, and LFE
Multi-language BEAM framework, but Erlang ecosystem is shrinking and Phoenix dominates Elixir.
Erlang/Elixir developers building fault-tolerant distributed systems
Phoenix · Plug · Axum
Controllers are plain functions that take a request map and return tuples:
Erlang:
create(#{json := Params}) -> CS = kura_changeset:cast(pet, #{}, Params, [name, species]), CS1 = kura_changeset:validate_required(CS, [name, species]), case my_repo:insert(CS1) of {ok, Pet} -> {status, 201, #{}, #{data => Pet}}; {error, Changeset} -> {status, 422, #{}, #{errors => Changeset}} end.
Elixir:
def create(%{json: params}) do cs = :kura_changeset.cast(:pet, %{}, params, [:name, :species]) cs = :kura_changeset.validate_required(cs, [:name, :species]) case MyRepo.insert(cs) do {:ok, pet} -> {:status, 201, %{}, %{data: pet}} {:error, changeset} -> {:status, 422, %{}, %{errors: changeset}} end end
Getting started with Elixir (Mix):
mix archive.install hex nova_new mix nova.new my_app iex -S mix
Getting started with Erlang (Rebar3):
rebar3 new nova my_app cd my_app rebar3 nova serve
The ecosystem includes Kura (an Ecto-inspired database layer with schemas, changesets, and migrations), WebSocket support, distributed pub/sub via OTP's pg module, OpenTelemetry integration, code generators, and OpenAPI spec generation.
We recently published The Nova Book (https://novaframework.github.io/nova-book), a step-by-step guide to building a full app from scratch. There's also a pet_store example (https://github.com/Taure/pet_store) showing a complete REST API with Nova + Kura.
On Hex: https://hex.pm/packages/nova (v0.13.7, Apache 2.0)
Distributes DuckDB queries across BEAM nodes when Polars maintenance became unsustainable.
Uses Elixir OTP to orchestrate Python agents with 3.77 KB memory overhead.
Rust NIFs replace Node.js build chain for Phoenix apps inside the BEAM.
LangChain for Elixir with OTP supervision — useful if you're already on BEAM.
OTP supervisor trees mapping to agent workflows is genuinely clever, but early-stage and GitHub Copilot-only.
Language-level LLM primitives (infer, confidence routing) beat Python/TS framework soup.