Railway-Oriented Programming Without the Magic

A practical introduction to Railway-Oriented Programming in Kotlin using Arrow’s Either. Learn how to replace exception-driven business logic with explicit, composable error handling.

July 2, 2026 · 4 min · Johan Basson

Why I Don't Like Generic Repository Interfaces

I used to create a repository interface for every aggregate. Over time I found a simpler approach that makes dependencies more explicit and business use cases easier to understand.

May 13, 2025 · 2 min · Johan Basson