Exploring better ways

Ideas, learnings, and breakthroughs, from behind the scenes at Bellroy

Haskell koan: Type-checked non-empty strings

A neat technique for defining a non-empty string constructor in Haskell.

Reflections on Bellroy's Tech Team 2025

A 15-person team shipped payments infrastructure, company-wide AI tooling, server modernisation and more in 2025 - but the cognitive cost of doing it all at once led to a rethink of how Bellroy's Technology Team is structured for 2026.

Some Haskell idioms we like

Some of the idioms we've adopted to make our Haskell code clearer.

Free applicatives, the handle pattern, and remote systems

Using free applicatives and the handle pattern to batch, optimise and test interactions with remote systems.

Designing for the different stages of a system's life

Why the best architectural decision of 2019 became our worst technical debt by 2024.

Integrating Effectful and Persistent

Writing effect handlers for a library which pervasively uses IO.

Open Source at Bellroy: Supporting Old GHC Versions

Which GHC versions we try and support in our open-source libraries, and how we came to those decisions.

Bellroy Technology Team: 2024 in Review

Bellroy's CTO reflects on a year of growth and adaptation, highlighting key achievements in automation, e-commerce improvements, and internal operations as the company transitions from startup to medium-sized business. Learn about our successes, challenges, and lessons learned in 2024

Solving a ResourceT-related space leak in production

How we saved our Haskell AWS Lambda Function from crashing.

Save Effort: Build a Bash One-Liner

Let's combine some UNIX tools to extract obscure information from Rubocop

How We Use Both Process Orchestration and Process Choreography

Bellroy's CDO writes about how Bellroy uses both orchestration and choreography to achieve efficient and durable processes.

Servant on AWS Lambda, and Two New Libraries

How we've been using Servant and AWS Lambda to build our services, and some libraries we've built to make it easier.

Using Dhall To Manage GitHub Actions Workflows

Dhall is a programmable configuration language we use to manage our GitHub Actions files.

Bellroy Technology Team: 2023 in Review

Bellroy's CTO reflects on the Technology Team's journey through 2023, why roadmaps are helpful and why Shape Up continues to be the right choice of methodology for Bellroy.

Using Shape Up - What Works, What We've Changed, What's Next

Explore our journey with the Shape Up methodology – from enhancing team autonomy and productivity to customizing it for our unique needs. Discover our future plans for advancing project management within our organisation.

The History of Nix at Bellroy

A short history of how we adopted Nix, with advice on how to adopt it incrementally and avoid common pitfalls.

Embracing automation with GitHub Actions

GitHub Actions is a powerful tool for automating software development workflows. We talk about what we love about it and what we think it can improve on.

Celebrating the release of Amazonka 2.0

How Bellroy thinks about open-source

Humans rarely need to make business decisions on real-time data

How to determine the appropriate freshness for information that will be used by human decision-makers

Technology stack transitions are hard

What the Bellroy Technology Team have learned so far, in our transition from Ruby to Haskell

Getting Things Done, with Asana

Implementing the Getting Things Done time management and productivity system, using Asana.

Keeping on-call calm

Tips on how to run - and how we run - on-call

Our technology stack, and how we got here

A short history: from off-the-shelf ecommerce platforms to statically typed functional programming languages

The unreasonable effectiveness of polymorphic records

An exploration of patterns made possible by polymorphic records in Haskell.

Assembling reliable records from semi-reliable systems

How to use state checking, orchestration, and progressive updates to construct good records.

Welcome!

Welcome. To the space where Bellroy's crew gets technical. Here, we aim to share some of the ideas, tools and models that drive Bellroy behind the scenes.