Skip to main content

Articles

Essays on software architecture, digital commerce, and the systems we build now.

The Invisible Buyer Has Arrived

Your next customer might not be human — and that changes everything about how you compete.

April 8, 202611 min read

Is the FP Juice worth the Squeeze?Part 11

A practical examination of whether adopting functional programming principles materially reduces enterprise risk and improves delivery predictability.

March 14, 20264 min read

When MVPs Grow TeethPart 10

How pragmatic domain models accumulate impossible states over time, and why algebraic data types prevent them by design.

March 7, 20266 min read

Folding in TraceabilityPart 9

How immutable event journals combined with pure fold functions create accountability by design in commerce systems.

February 28, 20264 min read

Not All Errors are ExceptionalPart 8

Why modeling business outcomes with Either instead of exceptions preserves meaning, enables auditing, and makes systems easier to trust.

February 21, 20266 min read

Modeling Absence without AmbiguityPart 7

How Option types model legitimate absence more honestly than null, eliminating hidden assumptions and defensive code throughout a system.

February 14, 20265 min read

Why Pattern Matching MattersPart 6

How algebraic data types and pattern matching let the compiler enforce business logic completeness, eliminating entire categories of runtime errors in commerce systems.

February 7, 20266 min read

Beyond the For-Loop: Mastering map, filter, and flatMapPart 5

How map, filter, and flatMap eliminate loop mechanics to expose pure business logic, making commerce transformation pipelines readable and predictable as they grow.

January 31, 20264 min read

Unpacking Agentic Commerce

How the shift from human to automated agent-based commerce requires systems to expose stable capability surfaces rather than internal microservice plumbing.

January 31, 20263 min read

Thinking in Expressions, Not StatementsPart 4

How shifting from statement-based to expression-based thinking eliminates hidden state and cognitive overhead in system design.

January 24, 20264 min read

Pure Functions: Your First Step Toward Bug-Free ConcurrencyPart 3

How pure functions — same inputs, same outputs, no side effects — eliminate entire categories of concurrency bugs and make pricing, eligibility, and promotion logic reliably testable at scale.

January 17, 20268 min read

Immutability by Default: The Foundation of Reliable SystemsPart 2

Why treating values as immutable facts — not mutable records — is the architectural foundation for distributed systems that behave predictably under concurrency, deployment, and time.

January 10, 20268 min read

Functional Programming Isn't Just for Academics: Why It Matters for the Systems We Build NowPart 1

An exploration of why functional programming principles address modern software development challenges, including distributed systems, concurrency, and state management — moving beyond purely academic applications.

January 3, 20267 min read

An Introduction to Reactive Commerce

How applying reactive microservice architectures can invigorate digital commerce platforms and where it makes the most difference.

December 19, 20221 min read

Headless Commerce: Advice for Goal Hangers

Strategic guidance on implementing headless commerce architectures without losing sight of business outcomes.

December 15, 20221 min read

Agility and the Headless Commerce Debate

Making a headless commerce decision for the whole business, not just the engineering team.

July 6, 20211 min read

Why Do They Call Them Apartments When They're All Stuck Together?

Exploring microservices architecture, system boundaries, and the practical realities of decomposition in commerce platforms.

March 13, 20211 min read