Skip to content

Why Dumb Modules Break and Smart Modules Don't

What is the difference between a dumb module and a smart module?

A dumb module returns raw fields and leaves every consumer to decide what the data means. A smart module performs an operation and returns an outcome. A dumb users module hands back a first name, a last name, and an email, and every consumer invents its own billing label. A smart users module accepts a request to generate a billing label and returns the finished label. The name composition stays inside the module.

Why do dumb modules force interface changes?

Every new use case becomes a new field request and a new meeting between teams. When shipping labels later need a phone number, a smart interface stays put because the consumer already asked for a label, not for fields. The fix happens inside the provider. Expanding a dumb interface so the next mistake is cheaper dissolves the boundary one field at a time.

Related reading

Join the waitlist

Get notified when new content drops