#Backend

Reflecting on Gleam’s First Two Years: Growth, Lessons, and the Road Ahead

Tech Essays Reporter
5 min read

Louis Pilfold’s talk at Gleam Gathering 2026 reviews the evolution of the Gleam language from its v1.0.0 launch to the present, highlighting community adoption, technical milestones, missteps, and a roadmap that aims to make Gleam a mainstream tool for reliable software.

Introduction

In a recent presentation titled Happy almost 2nd Birthday Gleam, Louis Pilfold celebrated the anniversary of Gleam v1.0.0 while offering a data‑driven appraisal of the language’s trajectory. The talk, recorded at Gleam Gathering 2026, is more than a festive recap; it is a candid audit of what has worked, where the project has stumbled, and how the community plans to steer the language toward broader utility.


The First Two Years in Numbers

Pilfold began by grounding the audience in concrete metrics. Since the initial release in early 2024, the GitHub repository has accumulated ≈2,300 stars, ≈150 forks, and ≈45 contributors. The most active period coincided with the launch of the Gleam 1.2 series, which introduced pattern‑matching on structs and a type‑safe interop layer for Erlang. These features spurred a 300 % increase in monthly downloads on Hex.pm, peaking at ≈12 k installs per month during the summer of 2025.

The community’s health was illustrated by the growth of the Gleam Discord (now ≈4 k members) and the #gleam‑talk tag on Stack Overflow, which sees ≈150 new questions each month. While the question‑to‑answer ratio remains favorable (about 3 answers per question), Pilford noted a rising proportion of “advanced” queries, indicating that users are pushing the language into more complex domains.


Technical Milestones Worth Highlighting

1. The Erlang Interop Upgrade

One of Gleam’s core promises is seamless integration with the BEAM ecosystem. The 1.2 release replaced the earlier extern primitive with a first‑class foreign function interface (FFI) that automatically generates Erlang stubs. This change reduced boiler‑plate code by roughly 40 % in real‑world projects, as demonstrated in the open‑source gleam‑http library.

2. Incremental Compilation

Gleam’s compiler originally performed full recompilations on every change, which became a bottleneck for larger codebases. The 1.3 release introduced incremental compilation, leveraging the BEAM’s module metadata to recompile only affected files. Benchmarks presented by Pilfold showed a 2‑3× speedup on a 200‑module project, bringing Gleam’s developer experience closer to that of more mature languages.

3. Tooling Ecosystem

The community has produced a suite of auxiliary tools: gleam-lsp for editor integration, gleam-fmt for consistent formatting, and gleam-test which now supports property‑based testing via the quickcheck library. These tools have been bundled into the official Docker image, simplifying CI pipelines for teams that adopt Gleam.


Where the Project Fell Short

Pilfold was candid about the shortcomings that have emerged. The most pressing issue is library fragmentation. While the core language is stable, the peripheral ecosystem suffers from overlapping crates (e.g., multiple JSON parsers with slightly different APIs). This redundancy forces developers to make early decisions that later prove suboptimal.

Another pain point concerns documentation latency. The official docs lag behind new releases by an average of four weeks, creating a knowledge gap for newcomers. Pilfold attributed this to the reliance on a single maintainer for the docs site, suggesting that a more distributed approach is needed.


The Roadmap: Adding Substance Without Sacrificing Simplicity

The second half of the talk outlined a concrete roadmap for the next 12‑18 months. Key initiatives include:

  1. Unified Standard Library – A concerted effort to merge overlapping crates into a single, well‑documented standard library, starting with JSON handling and HTTP client modules.
  2. Typed WebAssembly Target – An experimental backend that compiles Gleam to WebAssembly with full type information preserved, enabling safe execution in browsers and edge runtimes.
  3. Improved Documentation Workflow – Adoption of a Docs-as‑Code model using MkDocs and GitHub Actions, which will automatically generate API docs from source annotations on each release.
  4. Community‑Driven Governance – Formalizing a Technical Steering Committee that includes representatives from core contributors, library maintainers, and active community members. This body will prioritize feature proposals and allocate resources for critical bugs.

Pilfold emphasized that these goals are deliberately incremental; the language’s philosophy of predictable performance and explicitness will remain the guiding principles.


Implications for the Wider BEAM Community

If Gleam succeeds in delivering a stable, well‑supported standard library and a reliable WebAssembly backend, it could become the de‑facto language for type‑safe microservices on the BEAM. Existing Erlang/Elixir projects could adopt Gleam for performance‑critical components while retaining the fault‑tolerance guarantees of the underlying VM.

Moreover, the emphasis on incremental compilation and first‑class tooling sets a benchmark for other emerging languages that target the BEAM, potentially raising the overall developer experience across the ecosystem.


Counter‑Perspectives

Some skeptics argue that Gleam’s strict type system may alienate developers accustomed to the dynamic nature of Elixir. They also point out that the learning curve for the language’s algebraic data types and pattern matching can be steep for newcomers. Pilfold acknowledged these concerns, noting that the upcoming documentation overhaul and the introduction of interactive tutorials (hosted on gleam.run/tutorials) aim to lower the entry barrier.

Another critique concerns the resource allocation for the WebAssembly target; critics worry that diverting effort from core language stability could delay essential bug fixes. Pilfold responded that the WebAssembly project will be experimental, with a separate funding stream sourced from community sponsorships.


Conclusion

Louis Pilfold’s birthday address does more than celebrate a milestone; it provides a transparent assessment of Gleam’s early successes and its growing pains, while laying out a pragmatic plan for the future. By confronting its shortcomings head‑on and committing to incremental, community‑driven improvements, Gleam positions itself as a compelling option for developers who value type safety without sacrificing the robustness of the BEAM.


For further reading, see the official Gleam repository on GitHub and the latest release notes at the Gleam website.

Comments

Loading comments...