I’ve been back from Berlin for over a week, and I'm still processing it. This was my first time in Europe, much less Germany, and my first time speaking at a proper fee-paying conference. Before this, I'd only spoken at local meetups with friendly faces. Standing on that stage talking to a room full of people who'd paid to be there definitely increased the pressure and nerves.
Why I submitted this talk
When Code BEAM put out their call for proposals, they announced they were including a track called "Gleam in production". Gleam is a fairly young programming language that runs in the same environment as Elixir and Erlang. I thought: oh, that might actually be a really good opportunity to learn something new and share our own learnings.
I'd been doing a bit of tinkering in the Alembic R&D space, trying to bring the inertia.js system to the Gleam world. It was a journey in terms of my own upskilling, but also reflecting on what makes it different when you switch out Elixir for Gleam.
What I learned
A lot of the experience was me realising that Elixir and Gleam have very different philosophies. Elixir and the work we do with Ash is all about having really powerful languages and frameworks that do a lot for you through declarative programming. You write a minimal amount of code and the system takes care of the rest.
Gleam's philosophy is more about being very explicit and having this powerful type system that double-checks your work as you go. It's a lot more constrained, which means you write more code. But at the end of the day, it's quite simple code. It's easier to debug and see what it's doing. These are two very different approaches to constructing software, and they appeal to different audiences or even different problems.
The Theme: Constraints can be simplifiers
That realisation became the core of my talk. We shouldn't be afraid of constraints because constraints can be simplifiers.
The inertia.js framework imposes a number of constraints on how you structure your application. But if you lean into those and work within them, it lets you use powerful front-end tools like React while having a fairly simple page-oriented system, like you would have if you were building with Ruby on Rails.
Gleam is similar. By accepting the constraint that we don't have meta programming and macros (but we do have a fabulous type system), the end result is fairly simple code. And one of the attitudes we often hear in the Elixir community is: I prefer to use LiveView because it lets me avoid writing a full-on single page application and dealing with a lot of JavaScript tooling.
What I tried to communicate was that if we restrict our JavaScript usage to just its happy place (working with web UI) then we can actually use it for what it's really good at and solve other problems using other tools.
Preparation

The biggest challenge for me was culling my talk content to fit in a 40-minute slot: my practice runs kept coming out at least 55 minutes. I had all these examples and information I wanted to show. But after a few practice runs, I realised there's only so much code you can put on slides before people get lost in it all. It's really the message that's more important.
And then there was the small matter of being scheduled straight after lunch. You know, the graveyard slot where there's a real risk that if you're talking slowly in a quiet dark room, people will fall asleep.
My tactic was mostly focusing on the experience of working with code rather than the code itself: how it feels, what's frustrating, what feels good versus putting up a code slide and saying "please draw your attention to line eight". It kept the pace going, and I could intersperse it with little bits of humour, so it wasn't completely dry.
As Gleam is relatively new technology, a lot of people identify with being in that same boat. Even if you've been a professional software developer for many years, you're still going back to basics when you're learning something new. It's encouraging to hear that other people are only one or two steps ahead of you, learning and discovering things and sharing them. That's how I've always approached speaking - more about sharing learnings than being an authority.
The response
I got one question during the Q&A from Louis Pilfold, the creator of Gleam.
No pressure, right?
It was actually great. Because it was a dedicated track, all the Gleam talks were in the same room, so we just ran one after the other. Louis was paying attention the whole time, and we had good discussions afterwards.
I got some informal feedback after the talk. People appreciated the amount of work that went into it and some of the ideas. What I appreciated most were the discussions around this idea that constraints simplify, which resonated with people. Just rethinking some of the assumptions around how we've built web applications, maybe there are other ways of doing things. It's good to get people out of their comfort zone and exploring new ideas.
What this means for our work
One thing that can come up in this industry is people are really attracted to very powerful solutions. They think it's going to give them all this optionality and functionality, without necessarily knowing that they need it or appreciating the cost of delivering a really powerful, full-featured solution.
Whereas if you can identify - “oh hang on, there's a technique or a framework we can use, and yes it imposes some constraints, but the end result we know will be much simpler” - that's in keeping with Alembic's philosophy of delivering simplicity.
In this case, it was the inertia.js framework steering you in a particular direction that keeps things quite simple. Just looking for things and not being afraid of constraints.
Community vibes
Before the conference even started, we met up with the people from BitCrowd at their office. We did some training with them, and the amount of hospitality they showed us was really amazing. They put on a breakfast buffet for us, then took us out to a local spot for lunch. Super friendly and accommodating. There's really no substitute for getting together with people!
They also took us to a Vietnamese restaurant for dinner Vietnamese in Berlin! There was at least one other table there that had also come from the conference. We sat down, and then a couple of people from Ericsson we'd been speaking to at the conference couldn't get a seat but joined our table as well. It felt like a very friendly bunch of people, with chances to socialise outside of the conference itself.
Meeting new Alembic folks
Left to right: James Harton, Michael Buhot, Conor Sinclair, Josh Price, Barnabas Jovanovics, Joseph Yiasemides
We also got to meet our new Alembic team members: Conor and Joseph. Joseph had formerly worked with Erlang Solutions, so he was already plugged into that community and had a number of familiar faces at the conference. Everyone felt very connected pretty quickly.
Conor is an absolutely lovely guy, with great taste in loud ties. Now they're full-time with us, and it feels like we already know each other really well.
Conference highlights

It was great to kick it off the conference with Josh's keynote. There was a fantastic presentation slide around treating AI-generated software like you're at the slot machine, just pulling the lever and hoping that perfect software will come out the other end. Highly recommend you watch it here.
I didn't get a chance to see everything - with three tracks, so there was that tension around: do I hang out in the hallway and talk to people, or which talks am I going to go see? That's a good problem to have when there's heaps of great content.
However I always appreciate when you get to see something totally outside of your day-to-day. The talk that really stood out to me was by Daniil Popov from CyanView: From Super Bowl to Olympics: How CyanView Powers the World's Biggest Broadcasts With Elixir. It was all about how CyanView remotely control camera settings for live broadcast, including the technical challenges in controlling the cameras at the Beijing Olympics from headquarters in France. It's really eye-opening and inspiring to learn about a completely different industry and problems people are solving you had no idea or experience in.
I also connected with another engineering manager during the conference. I just happened to be sitting next to Sundi Myint, who I'd heard on the Elixir Wizards podcast many times. It was nice to connect with someone in a similar role. A lot of people attending would have been developers, but to bump into another engineering manager and talk about the people side of software was refreshing and validating.
The unconference and community discussions
The day after the conference, BitCrowd put on an unconference at their office. An unconference is participant-driven where the agenda and topics are created by the attendees themselves, rather than the organiser. It makes it very challenging for the organiser: you have to be willing to roll with it and see what people are excited about at the time. But they did quite well drawing up a big list of ideas people were interested in talking about or learning about.
One topic that came up was how to drive adoption, especially in that region. I believe there was some EU funding going into things like building data centers, and this feeling that the people of that region are going to have to own this going forward. They really care about it scaling and working well, and all wanting to promote BEAM as a great way to achieve that. That was really interesting - the community political angle on tech adoption. I hadn't really seen that before.
One of the interesting discussions was how do we make conferences more engaging for wider groups of people. There were a lot of comparisons between Goatmire, which was a smaller venue and group - and Code BEAM, which is more of a traditional format. Everyone loved Goatmire, but Josh mentioned there is a place for different size and scale of events, whether it's your local meetup or your regional conference or the big names. And I agree!
Reflections on the experience
Experiencing firsthand the value of networking and making those connections, and also just listening to what the people who are attending are doing in their day-to-day and the challenges they're facing - that informs us in how we can help them out.
One of the big ones for me was that not everyone's doing web apps in 2025. There's some really interesting industrial control and other embedded applications that maybe don't get as much airtime as web development does.
It was also really surprising to see firsthand the brand recognition that Alembic's built over the last couple of years with all the marketing activities we've been doing, the speaking, and getting involved in open source. People really know who we are!
Would I do it again?
I was pretty fried by Friday afternoon. Work was still going on in the background, including preparing client proposals. But I'm very glad I went along and would definitely participate again at a similar event in the future.
While I didn't get to visit a lot of the tourist spots in Berlin this trip, the museums and history and the wall have inspired me to want to visit again.
Also pro tip for next time: don't get to the airport only an hour before your flight like I did.





