The Bite-Sized Productivity Blog
The Bite-Sized Productivity Blog

11 Articles

The Bite-Sized Productivity Blog

Palatable sized content to supercharge your life

Software Design Philosophy

10-part series
01

Software Design Philosophy

Part 1 of 8: Understanding what makes software valuable and how to protect that value through good design

02

The Dependency Model

Part 2 of 8: Every dependency has two properties that determine whether it helps or harms your code

02

The Dependency Model

Part 2 of 8: A model for thinking about dependencies — explicit vs implicit, fixed vs flexible, and why one combination is impossible

03

SOLID Principles

Part 3 of 8: SOLID is not arbitrary — each principle addresses a specific aspect of placing dependencies well

03

SOLID Principles

Part 3 of 8: How SOLID principles follow directly from the goal of locality and good dependency placement

04

Functional Thinking

Part 4 of 8: Immutability, purity, total functions, and railway-oriented error handling — patterns that make code easier to reason about

05

Domain-Driven Design

Part 5 of 8: Modeling the business domain with Records, Principals, and Aggregate Roots — pure, testable, and free of infrastructure

06

Three-Layer Architecture

Part 6 of 8: Wrapping a pure domain in controller and repository layers, with mappers at every boundary

07

Wiring It Together

Part 7 of 8: The composition root as the big bang — constructing every service once into a frozen, immutable tree

08

Testing and Testability

Part 8 of 8: How the architecture makes testing straightforward — and why testability is the proof the design works

Essays

tech

The LLM Inflation Paradox

We expand messages for professionalism, they compress them for speed. The waste accumulates in between.