attn/ui

Philosophy

attn/ui - Attention (to detail) is all you need

attn/ui

attn/ui is a small, curated collection of UI components. It exists to explore how careful decisions shape better interfaces.

This is not a catalog. It is a body of work.

Why this exists

Most UI libraries optimize for coverage. attn/ui optimizes for intention.

Components are added only when there is something worth saying — a clearer API, a better interaction, or a more thoughtful default.

If a component does not express a point of view, it does not belong here.

Taste over completeness

attn/ui does not aim to solve every UI problem.

There will be fewer components than expected. Some common primitives may never appear.

Absence is intentional. Restraint is part of the craft.

Authored, not assembled

Every component in attn/ui is treated as authored work.

Patterns may be familiar, but implementations are reconsidered. APIs are shaped deliberately. Motion is tuned, not added by default.

A component is only shipped when it feels inevitable — not just functional.

Motion as communication

Animation exists to explain change.

Motion in attn/ui:

  • Clarifies state transitions
  • Guides attention
  • Reduces cognitive load

If motion can be removed without losing meaning, it does not belong.

Accessibility is the baseline

Accessibility is not a feature here.

Components are:

  • Keyboard-first
  • Focus-aware
  • Predictable in behavior
  • Designed to degrade gracefully

If a component is not accessible, it is unfinished.

APIs should disappear

Good APIs do not draw attention to themselves.

attn/ui favors:

  • Small, obvious surfaces
  • Opinionated defaults
  • Customization without ceremony

If using a component requires reading the documentation twice, the API failed.

Ownership matters

attn/ui follows the shadcn distribution model.

You own the code. You can change it. You are responsible for it.

This encourages understanding over abstraction and learning over consumption.

Fewer components, higher standards

attn/ui grows slowly by design.

Shipping cadence is irrelevant. Quality is the metric.

A small set of well-considered components is more valuable than a large set of interchangeable ones.

A living document

attn/ui will evolve as my taste evolves.

Components may be:

  • Refined
  • Rewritten
  • Removed

This is not instability. It is honesty.

An authored collection

attn/ui is a public expression of how I think UI should be built.

Every component is a partial answer.

By Milind Mishra

On this page