Design principles

The core beliefs behind every design decision. When priorities conflict, these help us choose.

Earn every pixel

Every element on screen has a cost: the user has to see it, decide whether it matters, and act on it or skip it. The goal is not "fewer elements" but fewer unnecessary elements.

Merged while seeding. The live page publishes this principle twice — once as "Earn every pixel" and again as "Interaction cost", opening with a byte-identical paragraph. De-duplicate it on the live page too.

Less is more

Simplicity is a design strategy, not a style preference. Every element, component, and page should justify its existence. If it doesn't serve the user's goal, it's noise.

Before creating a new component, ask two questions: why does this need to exist? and will this be used again? A component built for one edge case adds maintenance cost and cognitive load without earning its place. If either answer is uncertain, solve the problem with what already exists.

Speed to signal

AppSignal exists to help developers find problems fast. Every choice should shorten the distance between opening the app and understanding what happened.

Respect the context

Developers use AppSignal alongside their editor, terminal, CI, and a dozen other tools. Our interface should fit into that workflow, not demand full attention.