March 2, 2026

Executable dreams, meme screams

Packaging a Gleam app into a single executable

Gleam devs want real one‑click apps; memes, Tauri flexes, and JS shade

TLDR: A new guide shows how to ship Gleam apps as one file using Erlang scripts or by bundling with JavaScript tools. Commenters want true built‑in, native‑style apps, touting Tauri and WebAssembly while side‑eyeing “packaged JS” and tossing in a Bun‑vs‑Node meme for spice—because of course they do.

A fresh guide shows how to cram a Gleam app into a single file, but the crowd is split on the vibe. The write‑up walks through Erlang “escript” (runs on the Erlang VM — a virtual machine that powers Erlang), hints at Burrito (which bundles that VM inside), and a JavaScript route using Deno compile (Deno is a JS runtime). Translation: you can ship “one file,” but it’s either hitching a ride on Erlang or smuggling a mini‑runtime. Tech works, magic feelings vary.

The hottest reaction? Disappointment from fans who want Gleam to make standalone apps by itself. One early comment sighed it “wasn’t what I was hoping for,” longing for official, built‑in support rather than clever packaging. Another fired off: “packaging up JS is not it”, saying they want real command‑line tools (CLI) and pinning hopes on WebAssembly (WASM) experiments. Meanwhile, a power move lands from a user who claims they did it with Tauri, boasting ~14MB executables for Windows/macOS/Linux and even mobile, with a live demo.

Then chaos: someone drops the eternal meme grenade — “bUn Is NoT ‘FaSTeR’ tHan NoDe” — wildly off‑topic yet irresistibly on‑brand, and another side‑eyes an “oddly high” upvote ratio. Final score: practical how‑to, existential debate over what “real” apps are, plus a sprinkle of classic comment‑section circus.

Key Points

  • Gleam lacks native executable support, so packaging depends on the chosen compilation target (Erlang or JavaScript).
  • Using the Erlang target, Gleescript can produce a single escript executable, but it requires the Erlang VM on the host and version compatibility considerations.
  • Burrito can create self-extracting archives bundling BEAM code and ERTS for Elixir/Erlang projects; it’s suggested as a possible way to make self-contained Gleam executables, though untested by the author.
  • For the JavaScript target, Deno’s “deno compile” can produce a standalone executable, but the Gleam-generated JS must first be bundled with a tool like esbuild, Webpack, Parcel, or Rollup.
  • An example esbuild command bundles to a single CommonJS file, targets Node for Node API usage, applies selective minification, and adds a footer to invoke the entry point before compiling with Deno.

Hottest takes

“wasn’t what I was hoping for” — mmcclure
“bUn Is NoT ‘FaSTeR’ tHan NoDe #5732368444” — lerp-io
“packaging up JS is not it” — 3eb7988a1663
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.