vladikk avatar

Balanced Coupling

This is Vlad Khononov's three-dimensional framework for evaluating coupling decisions: integration strength (intrusive to contract), distance (in-process to across networks), and volatility (how often things change). Instead of treating all coupling as bad, it gives you a lens to decide when coupling is balanced or when it will cause cascading changes. The integration strength ladder alone is worth having on hand when you're in a design review arguing about whether to share a domain model or introduce a contract. Pairs well with DDD conversations since it explicitly maps to strategic and tactical patterns. The framework treats complexity as subjective and tied to cognitive load, which feels right when you're staring at a distributed monolith wondering why every change takes three teams.

GitHub stars
449
last updated
Apr 4, 2026

Install

$ npx -y skills add vladikk/modularity --skill balanced-coupling --agent claude-code

Installs into .claude/skills of the current project.

Files

The Balanced Coupling Model

A comprehensive reference for understanding the Balanced Coupling model as described by Vlad Khononov. This document synthesizes the full model from the companion blog at coupling.dev, covering its foundations, dimensions, balancing mechanics, relationship to prior coupling models, and connections to domain-driven design.


1. Foundations: Why Coupling Matters

1.1 Coupling Is Not the Enemy

The term "coupling" has long been synonymous with bad design. The balanced coupling model challenges this assumption. According to the dictionary, coupling is simply a device for connecting parts. If a system is a set of components interacting to achieve a goal, then coupling is what connects those components and makes it possible to achieve those goals. Coupling is what makes the value of a system greater than the sum of its parts.

Sponsors

Details

Repository
github.com/vladikk/modularity
First seen
Jun 11, 2026

More from vladikk/modularity

All 4

Recommended

1juliusbrussee avatarcavemanjuliusbrussee/cavemanUltra-compressed communication mode. Cuts output tokens 65% (measured) by speaking like caveman while keeping full technical accuracy. Supports intensity levels618.3Kskills.sh installs
2mattpocock avatargrill-memattpocock/skillsA relentless interview to sharpen a plan or design.1.5Mskills.sh installs
3shadcn avatarimproveshadcn/improveSurvey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on s40Kskills.sh installs
4obra avatarsystematic-debuggingobra/superpowersUse when encountering any bug, test failure, or unexpected behavior, before proposing fixes326.7Kskills.sh installs
5forrestchang avatarkarpathy-guidelinesforrestchang/andrej-karpathy-skillsBehavioral guidelines to reduce common LLM coding mistakes through explicit assumptions, simplicity, and verifiable success criteria.17.9Kskills.sh installs
6vercel-labs avatarfind-skillsvercel-labs/skillsHelps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express int4.3Mskills.sh installs