/WRITING · DESIGN SYSTEMS
The interface is a contract, not a coat of paint.
Reliable interfaces make intent, state, and recovery visible before a user has to guess what the system will do next.

An interface is a promise about what can happen next. Labels, disabled actions, loading states, and recovery paths are not surface decoration; together they tell a person what the system understands, what it is doing, and what they can safely expect.
When this contract is clear, product complexity becomes navigable. When it is hidden, users compensate with repeated clicks, workarounds, and uncertainty.
TAIWO EMMANUEL / CODE NOTETS
type ResourceState<T> =
| { state: 'idle' }
| { state: 'loading' }
| { state: 'ready'; data: T }
| { state: 'error'; message: string };
// Make every visible interface state intentional.