Complexity has a carrying cost
Every abstraction buys something and charges interest somewhere else. Make the trade visible.
Field notes
Every abstraction buys something and charges interest somewhere else. Make the trade visible.
Good UX is not a coat of paint at the end. It changes what the underlying system needs to make possible.
A default quietly answers a question for every person who never changes it. Treat defaults with the same care as explicit choices.
Interfaces, schedules, and code all benefit from some unused capacity. Not every edge case belongs in the first version.