r/elixir • • 8h ago

Elixir home automation on a $2 chip with AtomVM & Gleam Body: Davide Bettio (AtomVM) and Giacomo Cavalieri (Gleam) explain how to build Elixir IoT devices with off-the-shelf sensors and MQTT

31 Upvotes

In this episode, Davide and Giacomo share: 
- How AtomVM squeezes the BEAM onto memory-constrained devices 
- Why Gleam and AtomVM are a perfect match for hobbyists and students 
- Davide's "scar story" of a buggy AtomVM-powered home thermostat leaving him debugging in the cold 
- The trade-offs of the AtomVM standard library and how to extend it 
- Writing Gleam bindings for AtomVM features via Erlang FFI 
- Example projects to tackle as an embedded Gleam beginner 
- What's possible with $2 boards, some sensors, and MQTT 

https://youtu.be/57Vhx7FHk34


r/elixir • • 1d ago

Tridentix v0.1.0 — Custom Systems Language (LLVM Backend

Thumbnail
1 Upvotes

r/elixir • • 2d ago

What the eMudhra CA Compromise Means for Elixir Developers

Thumbnail
paraxial.io
45 Upvotes

r/elixir • • 2d ago

If you are a beginner I suggest you use documentation over paid resources

42 Upvotes

I'm relatively new to programming and I decided to buy some courses and books to help on my Elixir/Phoenix journey and honestly they weren't that helpful. I feel like since Elixir/Phoenix is a more niche stack people making courses for it make the courses for people already familiar with web development. The documentation for both Elixir and Phoenix is pretty easy to understand and it shows examples of whatever you are currently learning about. Way more digestible than working on a project out of the gate as well.


r/elixir • • 3d ago

Voyager v0.2.0 - ETS Tables, Processes and more!

47 Upvotes

Hey everyone, Voyager v0.2.0 is out!

Voyager is a modern desktop app for inspecting live BEAM nodes, made for AI-assisted debugging with zero setup.

What's new

  • 🗄️ ETS inspector: browse tables, page through records and look up keys.
  • ⚙️ Process list: sort processes by memory, reductions or message queue length.
  • 🔎 Process details: see any process's state, mailbox and dictionary.
  • 🤖 Full AI support: all of the above is available to your agent via MCP, plus match-spec search in ETS tables.

Voyager works with anything running on the BEAM: Erlang, Elixir and Gleam. The source is public, and it's free for individuals, non-profits and teams of up to 10 people.

Download: https://voyager.swmansion.com/
GitHub: https://github.com/software-mansion/voyager

We're still early, so your feedback decides what we build next. Tell us what's missing for you! https://github.com/software-mansion/voyager/issues/new/choose


r/elixir • • 3d ago

Stampede: load testing for Phoenix Channels and LiveView, written in Elixir

4 Upvotes

I built a load testing library for Phoenix. Tests are plain Elixir modules, and it handles the Channels and LiveView protocols itself (joins, heartbeats, CSRF tokens, cookies), so a LiveView load test is a few lines instead of a k6 script faking the protocol.

just shipped with HTML reports and a `mix stampede.compare` task for catching regressions in CI.

GitHub: https://github.com/mandar1045/stampede

Feedback very welcome, especially from anyone load testing LiveView today.


r/elixir • • 3d ago

Code Beam Europe 2026

Thumbnail
1 Upvotes

r/elixir • • 3d ago

Running a subset of Erlang/Elixir on bare metal - Parallax Propeller 2

Thumbnail
7 Upvotes

r/elixir • • 3d ago

Change my mind the BEAM is overrated for coding agents

0 Upvotes

imo most of an agent's life is one loop waiting on an http call to a model. you don't need a supervision tree for that. TS gets you npm + an LLM that's seen a million examples of it. ngl Pi in TS makes sense to me

Then I read this

His point is Pi Durable is quietly rebuilding OTP. I went through their feature list and tried to map it myself:

- change code on a running agent, in-flight tool calls finish on the old code -> hot code loading, the VM keeps old + new module versions around

- harness on one machine, tools on another -> distributed erlang, more or less

- abort a task and everything it owns cleans up bottom up -> supervision tree shutdown, children stop in reverse order

- process dies, new one resumes unfinished tasks from a checkpoint -> this is where the analogy breaks imo. a supervisor restarts you with fresh state, the checkpoint part is on you (ecto, dets, whatever)

So 3 out of 4 for free...

What I can't judge from the outside: he says LLMs pick up niche langs from the docs in minutes. For those of you letting Claude/Codex write Elixir, does it actually get OTP right? like does it reach for a supervisor or GenServer when it should, or does it write TS-shaped code with Elixir syntax?


r/elixir • • 3d ago

Your PubSub is quietly dropping messages and nothing tells you

0 Upvotes

Turns out a 1ms network hiccup is enough to silently lose broadcasts for a node and that node is just quietly wrong forever

Wrote it up with little click-through simulators so you can see it happen

There's also a live demo - three nodes running football matches, cut one node's connection mid-game and watch it catch up: https://scoreboard-pool.fly.dev

repo

Let me know what do u think :D


r/elixir • • 5d ago

Designing Human-Computer Interactions with Ash - Alex Slade | AshConf 2026

Thumbnail
youtube.com
12 Upvotes

r/elixir • • 6d ago

A2UI for Elixir: render agent-generated UIs in Phoenix LiveView (protocol engine, LiveView renderer, agent SDK)

18 Upvotes

I've released an Elixir implementation of A2UI, the open protocol for agent-driven interfaces.

The idea: instead of an agent sending HTML or code, it sends JSON that describes an interface (components, a data model, bindings). Your app renders it with components from its own catalog, and the user's actions go back to the agent as events. The agent never runs anything in your app.

Three packages on Hex (Apache-2.0):

  • a2ui_core: the protocol engine. Messages, catalogs, surface state, data binding, function calls. Pure Elixir, no processes; Jason is its only dependency.
  • a2ui_phoenix: a LiveView renderer. The basic catalog as function components, two-way bindings, actions, and A2UI over server-sent events.
  • a2ui_agent: the agent SDK. Catalog negotiation, prompts, validated parsing of streamed model output, and serving over A2A, MCP and AG-UI.

Rendering in a LiveView looks like this:

```elixir def mount(_params, _session, socket) do validation = A2UICore.Validation.Config.relaxed() session = Session.new([A2UICore.Catalog.Basic.catalog("v1.0")], validation: validation) {:ok, Live.init(socket, session, on_send: &send_to_agent/2)} end

def handle_info({:agent, payload}, socket) do {_result, socket} = Live.handle_message(socket, payload) {:noreply, socket} end ```

Conformance: it supports protocol v0.9, v0.9.1 and v1.0, and is checked against the upstream conformance suites: 946 of the 946 cases that apply pass. The rest are skipped, each for a stated reason (mostly v0.8, which I chose not to support, and adapters for Google's Python ADK). The JSON Schema engine underneath passes all 1302 required draft 2020-12 tests.

Examples in the repo: a restaurant agent served over A2A, MCP, AG-UI, SSE and WebSocket; a LiveView gallery with a live chat with that agent; and a renderer that draws the same surfaces in the terminal.

It's 0.1, so I'd really like feedback: on the API, on what's missing, and from anyone building agent UIs in Elixir. Issues and PRs welcome.


r/elixir • • 6d ago

Show r/elixir: A book discussion agent loop, model proxy and more

0 Upvotes

You’re reading a book and a sentence makes you stop. Who is this character again? It would be great to refresh your memory without any spoilers. And maybe also discuss or recall the plot again since you didn't pick up this book for a week or two.

Hello everyone!

I am a software engineer and I spent months in a cave building Ink, a book companion that just works without marketing AI fluff.

I chose Elixir and Phoenix because I love OTP and LiveView and now I have to run a chunky RAM server to fit millions of my imaginary visitors (maybe someday, mate!). But honestly, I still love it.

Here is a brief info about internals:

Context Management:

Ink uses a sliding window with compaction to keep up with the longest books. It extracts characters, locations, tools, and concepts, and writes summaries without spoiling your experience. Without those guardrails, AI loves to ramble about the future plot, especially for popular books.

Agent Pipeline:

I built an entire graph execution pipeline and agent loop using jido_ai to run multistep processes with conditional gates and loops. I also built a model proxy for local development and production resilience. I didnt publish any of that public yet as not sure if someone else finds it interesting.

The pipeline allows me to mix LLM, code, controll context, tools and variables between stages. The simplified summary leg looks like this:

Config.new(
  entry_node: "summary_gen",
  nodes: %{
    "summary_gen" => %{params: gen_params},
    "summary_validate" => %{
      params: %{
        strategy: "local",
        handler: BookCompanion.ValidateSummary,
        session_id: session_id,
        chapter_id: chapter_id,
        read_batch_id: read_batch_id
      }
    },
    "summary_fix" => %{params: fix_params}
  },
  edges: [
    %{from: "summary_gen", to: "summary_validate"},
    %{
      from: "summary_validate",
      to: "summary_fix",
      condition: %{type: :gate_failed, gate: "summary_validate"},
      loop: %{max: fix_max}
    },
    %{from: "summary_fix", to: "summary_validate", loop: %{max: fix_max}},
    %{
      from: "summary_validate",
      to: "complete",
      condition: %{type: :gate_passed, gate: "summary_validate"}
    }
  ]
)

Explore Stage:

For the "Explore" leg of the analysis, I use parallel extraction stages (characters, relationships, identity, etc), then verification, fix, and synthesis stages. The main challenge was keeping the KV cache (prefix cache) stable while maintaining selective control of tools for every graph node. I achieved about 95% success on the first tool call, and with tool healing and descriptive error messages, agents keep the generation of characters stable, but sometimes it can take a while.

Frontend Architecture:

I split the Reader to be a lightweight static page and kept LiveView for the Discuss and Explore. Because of the split architecture, I have a challenge with UI elements i want to look the same in LiveView and in static reader. I would appreciate any tips about best practices for DRYing components or hooks between semi-static pages and LiveView!

Most importantly, I am looking for your feedback on the app, the Discuss fidelity, or any silly mistakes I made. (The app is in free beta, and I use ZDR OpenAI models).

So, take a break, read a book! Tell me later how it went.

Need a first book? Project Gutenberg and Standard Ebooks offer classics that are free of copyright restrictions.

I created plenty of open beta seats and use sane rate limits: https://inkcompanion.com/?invite=ELIXIRINK

Let me know how the Discuss and Explore features feel and if the UI/UX works for you. Don't forget to configure the layout and font by opening the "Aa" display settings.

Maybe you could also stay a little longer and read a few books! I plan to keep majority of the app free to use and also working on a bookshelf right now.


r/elixir • • 7d ago

The BEAM Book was written because of a Christmas Eve outage at Klarna - and the same question now applies to AI compute

33 Upvotes

New BEAM There, Done That with Erik Stenman (Happi), who has been with Erlang since 1994, wrote the BEAM Book, and built Klarna's payment core.

The scar: on Christmas Eve, the BEAM throttled its schedulers down during low traffic. A batch job arrived carrying all the Christmas orders. A single XML serialization operation took only 20 reductions, didn't yield, and monopolized the lone active scheduler. Heart (the external watchdog) couldn't reach the VM, declared it dead, and restarted it. All three failover nodes hit the same problem. Half an hour of downtime on Christmas Eve. The BEAM Book exists because Erik needed that manual at three in the morning and it didn't exist yet.

The current project, Eldrim, applies the same principle - knowing where resources go - to AI compute. The core point: an "EU region" with a US provider is not EU sovereignty. The US Cloud Act and China's national intelligence law reach companies regardless of where servers sit. Eldrim is an OpenAI-compatible API router that enforces jurisdiction rules and returns a 503 rather than routing quietly outside approved boundaries.

https://youtu.be/afRZmYXwukg


r/elixir • • 6d ago

Show: Parlaypals.bet elixir, phoenix, ash, oban

Thumbnail
gallery
0 Upvotes

Created a real time community parlay building for friends. It doesn’t actually submit parlays but makes organizing them with friends a lot easier than chat groups.

Has leader boards to track success rate per person
Live odds
Most markets
Most bookmakers
Tracks conflicting picks
Social parlays - no one needs accounts
Only person that needs an account are parlay managers.

Had lots of fun building it.
It’s in beta. Paid accounts coming soon. Have to pay for 3rd party APIs somehow.

Cheers
check it out here it ya want.


r/elixir • • 6d ago

FREE INDIAN COMPLIANCE SOFTWARE

Thumbnail github.com
0 Upvotes

Billing infrastructure shouldn't be a black box. Built in the open for speed, clarity, and control.

Meet QUANTUM BILLING :

QuantumBilling is a Phoenix LiveView application for Indian business billing: clients, GST invoices, document templates, credit/debit notes, e-way bills, recurring billing, payment links, reports, and compliance reminders.

It uses Elixir, Phoenix, PostgreSQL, and Oban. Business data is being separated into PostgreSQL schemas, with shared accounts and business memberships in `public`.

QuantumBilling: Where precision invoicing meets transparent, open-source engineering.


r/elixir • • 9d ago

MacroMayhem 007 - Goatmire, Old Android Phones, and How To Keep a Secret

Thumbnail
youtube.com
12 Upvotes

r/elixir • • 9d ago

Introducing: Ash.Signals

Thumbnail
ash-hq.org
74 Upvotes

r/elixir • • 9d ago

Native Mobile Apps With Elixir Mob Framework: A Database on the Phone with Ecto

Thumbnail
medium.com
30 Upvotes

r/elixir • • 9d ago

I'm starting a Hologram Showcase and looking for your apps and libraries

Post image
18 Upvotes

I talk to a lot of people in the Elixir community, and most of them already know about Hologram. But before they give it a try they want to see who else is using it and what's possible.

I never had a good answer for that. There are apps running on Hologram in production and there are libraries built for it, but they're not listed anywhere.

So I'm starting a Showcase on the Hologram website to fix that.

If you've built an app with Hologram or a library for it, I'd love to have it there! You can submit it here: https://hologram.page/showcase/submit

The next few months are all about adoption for me, so this would help a lot. And if you know a project that uses Hologram, please mention it in the comments :)

Website: https://hologram.page


r/elixir • • 10d ago

Integrate LLMs into your app with Legion

2 Upvotes

Legion is the easiest way to enhance your apps experiences with LLMs, and now external MCP clients and in-app chat agents can share the same tools!

Read more: https://github.com/software-mansion/legion


r/elixir • • 11d ago

When Time Meets State - Conor Sinclair | AshConf 2026

Thumbnail
youtube.com
10 Upvotes

r/elixir • • 12d ago

Update: I got an offer paying almost double, but rejected it because it required 5 days in office. Are fully remote jobs still possible from India?

Thumbnail
0 Upvotes

​

Hey everyone,

A few weeks ago, I posted here about struggling to find remote opportunities as an Elixir/Phoenix/LiveView developer with around 4 years of experience.

I wanted to share an update.

After searching for several months, I finally got an opportunity that matched my experience and cleared all the interview rounds. The salary was almost double my current salary.

Sounds great, right? The catch was that it required working from the office 5 days a week.

Since my current job is fully remote, I decided to reject the offer. I know that turning down such a significant salary increase might sound foolish to some people, but I'm not comfortable giving up remote work just yet.

Now I'm back to looking for opportunities, and the biggest challenge remains the same: I'm barely finding relevant remote openings for Elixir/Phoenix/LiveView in India.

I'm also open to working for companies outside India that hire people remotely while they continue living in India.

So I wanted to ask this community:

- Are there companies in the US, Europe, or elsewhere that hire developers based in India for fully remote positions?

- Has anyone here landed an international remote job while staying in India? How did you find it?

- Are there any companies currently hiring Elixir/Phoenix/LiveView developers remotely?

- Where should I look beyond the usual job portals?

I'm not necessarily looking for a job that pays double, but I'd like to find a reasonably better-paying opportunity without giving up remote work.

If you work remotely from India for a company outside India, I'd really appreciate hearing how you found the opportunity. Company names, job boards, referrals, or even advice from your own experience would be extremely helpful.

Thanks!


r/elixir • • 13d ago

Keynote: Adoption of Ash in a Mature & Complex Codebase - AJ Jetha | AshConf 2026

Thumbnail
youtube.com
7 Upvotes

r/elixir • • 14d ago

20+ years maintaining OTP's TLS stack, and now triaging AI-generated CVE reports - what does the OTP security inbox actually look like in 2026?

20 Upvotes

New BEAM There, Done That with Ingela Andin, the OTP team member who has maintained the TLS stack for over two decades. She's the first point of contact when a vulnerability report lands on the OTP team.

The shift she describes from early 2026 to now is stark: at the start of the year, AI reports were mostly hallucinating junk. Within weeks they became real, and they kept coming. The triage process: form a judgment using domain knowledge first, then use AI agents to help narrow and verify, then human confirmation. The AI speeds up the process - it doesn't replace the judgment.

The practical point for anyone in this community: if you find something in OTP, GitHub advisory is the right channel (not email). Include the full crash report. Write the reproduction in Erlang if you can. Don't assume details are obvious.

The fix pipeline is also worth knowing: patches are backported to three maintained OTP releases simultaneously, coordinated to ship on the same day, with SBOM and CVE records published through the EEF CNA.

https://youtu.be/RM9tCiRJwfY