Gleam is a boring language.
I don’t mean that.
It was mostly to make you click the link.
What I actually mean is that it’s a straightforward, predictable and stable language. It’s simple, and coming from the fast-moving world of TypeScript, where every month brings a new framework and every problem brings 10 ways to solve it, I am not used to simplicity.
However, Gleam has made me fall in love with b̶o̶r̶i̶n̶g simplicity — so when I got the opportunity to use my Learning & Development budget to attend the first-ever Gleam conference, I took it. All Builders at Perk can apply for budget to attend conferences, enroll in courses, etc. and even though we don’t use Gleam at Perk (yet 👀), I’ve been using it for personal projects for the last couple of years. My hunch is that by the end of this blog post, you’ll be at least a little bit interested in trying Gleam as well.
For those who don’t know, to quote the website: “Gleam is a friendly language for building type-safe systems that scale”. There are lots of great blog posts and talks on why Gleam is a valuable language and how it works, so I don’t want to rehash those. In a nutshell, I was drawn to it because:
- It’s a strongly-typed functional language.
- It compiles to JavaScript (and Erlang), and can utilise their existing ecosystems.
- It has brilliant branding — and a really cute mascot called Lucy.
I love JavaScript and TypeScript. However, when it comes to a large codebase I think the benefits I’d get from a strongly typed and opinionated language like Gleam would drastically change my developer experience.
The conference was a small one-day event taking place in Bristol on 21st February. It was filled with language news, interesting talks and a passionate community.
Press enter or click to view image in full size
Boring can be exciting
Gleam strives to be a language where there is only one way to do something.
Gleam forces you to make intentional decisions about errors; it aims to avoid breaking changes. Simplicity was noted in the 2025 Gleam Developer Survey as developers’ favourite thing about the language.
Gleam’s creator, Louis Pilfold, gave a keynote speech at the conference. This introduced features planned for 2026, the majority of which were quality of life improvements to the developer experience and ecosystem.
John Mikael Lindbakk spoke about building surtoget.no — a website dedicated to sassy criticism of Norway’s Sørlandsbanen railway, and built using a popular Gleam frontend framework, Lustre. The Sørlandsbanen is plagued by delays is due to the complexity of the trains and their maintenance overhead. John explained that they’re designed to tilt around Norway’s mountains, which means lots of moving parts and potential points of failure.
Get Gavin Bannerman’s stories in your inbox
Join Medium for free to get updates from this writer.
I couldn’t help but see this through the lens of software. I’ve seen Rich Hickey’s “Simple Made Easy” talk shared a lot at Perk, and its core theme of reducing complexity comes to mind when thinking about the benefits that Gleam offers as a language.
Simple things can still lead to creativity and excitement, and this was demonstrated in some of the lightning talks. One speaker had built a Gleam implementation of the ESC/POS command set which is used in Epson thermal receipt printers. Sounds kind of boring doesn’t it? Not when they’ve built a web server that allows you to upload your photos and have them printed live at the conference on a cute little Gleam Gathering receipt! From simplicity comes greatness.
Press enter or click to view image in full size
Community is not boring
My main takeaway from Gleam Gathering was how important Gleam’s community is to its language identity. In the 2025 Gleam Developer Survey, 35% of respondents said that the Gleam community was their favourite thing about the language.
Gleam again makes this very simple, with a statement on the website saying “People from around the world, of all backgrounds, genders, and experience levels are welcome and respected equally”. I’ve been lurking on the Discord for the last couple of years, but had never engaged with the discussion. Regardless, when I met with other attendees in the pub the night before the conference, I found everyone very welcoming and friendly!
Concern around how to conserve the community’s culture was obvious at the conference. The Gleam Core Team were asked in a panel how the community can grow while maintaining the culture that drew so many people to it in the first place. Gleam had an initial explosion of popularity after it went stable with v1, but since then it’s had slower, steadier growth.
This question about how to scale but maintain your culture is one that we’re also conscious of at Perk. We’re hiring a lot of new engineers and have acquired 3 companies in the last 5 years. Perk has always been intentional about maintaining the “start-up” culture that got the company to where it is. An approach that seems to work for both Perk and Gleam is getting people together in person, like at Gleam Gathering. Meeting new Gleamlins (yes, that’s what they’re called!) and soaking up the passion for the language has left me eager to write more Gleam and play a more active role in the community.
Press enter or click to view image in full size
Boring will help you build
The most exciting announcement to me was that there were plans to introduce “guides” to show common application patterns in Gleam. These guides will cover frequent use cases like how to read from a Postgres database and how to add authentication to a web server. Until now, this gap has been filled by Gleam’s incredibly helpful community. Discord and Reddit threads are filled with high-quality responses from many of the active members of the community, and more often than not Louis himself! However, Gleam is meant to be a language that scales, and trying to give well-thought-through replies to every post in the Discord server doesn’t scale. This is why I’m excited for the guides.
Excited about documentation… You might think that’s dull, but this is a missing piece of the language experience that makes me reluctant to suggest Gleam to coworkers. When I go to solve a problem, I end up going down a rabbit hole that leads to me solving problems that are not the ones I came to solve in the first place. This can be interesting when I’m working on a personal project, but it’s harder to justify if I’m trying to make a business case for using Gleam at Perk. I feel guides and project templates will reduce the burden on the community and make Gleam a more realistic choice for professionals.
The discussion of using Gleam “professionally” came up quite a lot and was something Louis seemed very aware of. He spoke candidly about how the pipeline of new Gleam user to project sponsor / library creator is strong, but the pathway to becoming a production user is much weaker. It’s reassuring that the Gleam Core Team are aware of this and have plans to tackle it.
Press enter or click to view image in full size
Final thoughts
Part of what makes Gleam so powerful is its simplicity, reliability and straightforwardness. Maybe I’m getting “boring” now I’m in my 30s, but this type of developer experience is much more attractive to me than the fast-paced ecosystems of many other languages. That’s because I know I have robust, easy tools that allow me to focus on what I care about — building something.
If you’re even the tiniest bit curious, then spend 10 minutes on Gleam’s language tour and see what you think.
So yes, Gleam is a boring, simple language, and that’s why I’m excited for its future and feel honoured to be part of its great community.
We’re hiring! Explore our job opportunities here.