Top all-time · #7885
Exploring better ways
Company blog · exploring-better-ways.bellroy.comprogrammingbusiness
Exploring better ways is the company blog at exploring-better-ways.bellroy.com, writing about programming and business. Since 2023, 10 different Hacker News readers have linked it 23 times, most often “Bellroy's technology stack, and how we got here”. It is still writing: the last post was on 2026-08-28, and you can follow it by feed.
Too few sampled comments (3) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for Haskell practice: type-level idioms like non-empty types, Haskell for backend web development, free applicatives, and a Rails-to-Haskell migration.
Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Sharing insights and using business as a force for good.
Most-linked posts?
- Bellroy's technology stack, and how we got here3 people · 3 mentions · first linked 2023-03-05
- Integrating Effectful and Persistent2 people · 2 mentions · first linked 2025-04-17
- Designing for the different stages of a system's life2 people · 2 mentions · first linked 2025-07-22
- Type-checked non-empty strings2 people · 2 mentions · first linked 2026-06-26
What Hacker News says?
Liquid Haskell might require you to prove that the divisor is nonzero, but even in standard Haskell there's common idioms for ensuring that a list is non-empty (data NonEmpty a = a :| [a]) or that text is non-empty (newtype NonEmptyText = NonEmptyText Text, with non-exported constructor, helpers like make :: Text -> NonEmptyText, or more advanced tricks like https://exploring-better-ways.bellroy.com/haskell-koan-typ…
Comment linking /haskell-koan-type-checked-non-empty-strings.html
on “We found a division by zero bug in FFmpeg with a vibecoded fuzzer”Submitted Free applicatives, the handle pattern, and remote systems as a story · 94 points
HN discussion> Haskell is apparently quite strong for general backend web dev Yep. Mostly because of the https://www.servant.dev/ framework (but see also IHP, Yesod, and other frameworks). Servant lets you declare your HTTP API at the type level, and then it will infer the correct types for your endpoint handlers. You can also extract OpenAPI specs from it, generate clients for Haskell or other languages, etc. My current employe…
Comment linking /our-technology-stack-and-how-we-got-here.html
on “Haskell: A Great Procedural Language”Submitted Using Dhall to Manage GitHub Actions Workflows as a story · 6 points
HN discussionThe second-to-last post[0] talks about how they decided to migrate their stack from Ruby on Rails to Haskell, and are now in the seventh (!) year of that migration. [0] https://exploring-better-ways.bellroy.com/designing-for-the-...
Comment linking /designing-for-the-different-stages-of-a-systems-life.html
on “Free applicatives, the handle pattern, and remote systems”Submitted Using Shape Up – What Works, What We've Changed, What's Next as a story · 6 points
HN discussionSubmitted Nix at Bellroy as a story · 6 points
HN discussionSubmitted Save Effort: Build a Bash One-Liner as a story · 4 points
HN discussionSubmitted Bellroy Technology Team: 2024 in Review as a story · 3 points
HN discussionSubmitted Solving a ResourceT-related space leak in production as a story · 3 points
HN discussionSubmitted Bellroy Technology Team: 2023 in Review as a story · 3 points
HN discussionSubmitted Designing for the different stages of a system's life as a story · 2 points
HN discussionSubmitted Integrating Effectful and Persistent as a story · 2 points
HN discussionSubmitted Embracing Automation with GitHub Actions as a story · 2 points
HN discussionSubmitted Bellroy's technology stack, and how we got here as a story · 2 points
HN discussionSubmitted What we optimise for when we reach for an LLM as a story · 1 points
HN discussionSubmitted Type-checked non-empty strings as a story · 1 points
HN discussionSubmitted Some Haskell idioms we like as a story · 1 points
HN discussionSubmitted Integrating Effectful and Persistent as a story · 1 points
HN discussionSubmitted Celebrating Amazonka 2.0: How Bellroy thinks about open source as a story · 1 points
HN discussionSubmitted Humans rarely need to make business decisions on real-time data as a story · 1 points
HN discussionSubmitted Technology stack transitions are hard as a story · 1 points
HN discussionSubmitted Our technology stack, and how we got here as a story · 1 points
HN discussion