mat-hek
Popcorn - a new tool to run Elixir in browsers
Popcorn lets you run Elixir code in the browser via WebAssembly. It builds on top of AtomVM, a tiny Erlang VM. It’s early stages and breaks sometimes, but you can run Elixir code and even Elixir and Erlang compilers right from the browser.
We created some cool examples too - check them out at popcorn.swmansion.com, and the repo is available at
Happy hacking ![]()
Most Liked
mat-hek
No, it’s quite the opposite
The goal is to run Elixir code on the client side. It would enable features like IEx or HexDocs examples running in the browser, but also local-first applications in Elixir. We aim to provide as many BEAM features as we can, if they make sense in that context, and good enough performance for these use cases.
jgonet
Popcorn 0.1.0
I’m very happy to announce first official Popcorn release. On this occasion, Mateusz wrote a blog post that mostly covers what was said on Elixir Conf EU.
Since last time we made a bit of progress:
- Support for OTP applications.
- IEx example.
run_jsvalue batching.- New NIFs, fixes for old ones, finding missing ones. Good ol’ “various fixes and improvements”.
For the near future, we want to discuss good, concrete use-cases for Popcorn, do some research, and stabilize whatever we can.
We welcome any form of feedback: bug reports, ideas, sharing demos, etc. Find us on Github, Software Mansion Discord, or at popcorn@swmansion.com.
AstonJ
This is really cool! I just cross-posted on EFS in the AtomVM forum ![]()
jgonet
It was an experiment at first, connecting with José’s vision of Elixir interoperability (check out his keynote talk at Elixir Conf EU). We’d like to do more open-source at Software Mansion, too.
I personally find value in future integration with ecosystem libraries and frameworks – improving JS interop in Phoenix, creating local-first apps (Ecto, ElectricSQL), a layer calling endpoints in Ash via plain Elixir, etc. A nice side-effect is improving AtomVM and its embedded use-cases.
As in original post, we’re currently in state where things start to stabilize and we can focus on those. I see Popcorn as a meta-framework and I find it important for the library to suggest some use-cases. When possibilities are endless, thinking about concrete solutions is harder.
arcanemachine
Awesome. Glad to see the dream of Elixir-in-the-browser is being kept alive!








