ui
The patterns I reach for when I build an interface: when to use each one, and why. Every page has live demos to poke at.
Defer expensive context to intent. Reveal extra detail without bloating the initial render.
Copy confirmations, optimistic updates, destructive-action guards, and skeletons: how the UI tells the user what just happened.
First run, no results, and all done are three different moments. Each one should say why it's empty and what to do next.
Reward early, punish late. When to validate a field, where the error goes, and what happens to focus on submit.
Roving focus, focus that comes home after a dialog, and shortcuts people can actually discover.