Skip to main content

Technical Decisions

Component

A component is a self-contained piece of interface used in many places. Consistency and cheaper changes come from reuse, and duplication is what quietly prevents both.

Definition

A component is a self-contained piece of an interface that can be used wherever it is needed: a button, a date picker, a customer card, a data table.

What It Actually Means

It is built once, with its appearance and behaviour together, and then reused. Modern interfaces are assembled from components rather than each page being built from scratch.

Why It Reaches Your Costs

Two ways, both visible from outside the code.

Consistency. When every table on the site is the same component, they all behave identically: sorting, pagination, how empty states look, what happens on a phone. When each was built separately, they differ in small ways nobody intended, and users notice the inconsistency without being able to name it.

The cost of change. Changing how buttons look, or fixing a table that behaves badly on mobile, is one change applied everywhere if there is one component. It is forty separate changes if there are forty tables, and some will be missed.

This is why an interface that feels slightly incoherent, where similar things work differently in different places, usually indicates duplication rather than deliberate design decisions.

The Failure Worth Knowing About

Components exist and are not reused.

The pattern is familiar: a shared button component exists, and somebody under time pressure builds a slightly different one for a new screen rather than extending the shared one. Repeat that a dozen times and you have a component library nobody uses alongside a codebase full of near-duplicates.

The result is the worst of both: the overhead of maintaining a shared library, and none of the benefit, because the actual interface is built from copies.

The symptom is visible to you. If similar elements across the product look and behave slightly differently, they are probably separate implementations.

What To Ask

  • Is there a shared set of components, and is it actually used? Both halves of the question.
  • If we changed our brand colours, how long would that take? A well-built interface answers in hours. A duplicated one answers in weeks.
  • Why do these two screens behave differently? Worth asking when you notice it, because the answer is usually duplication.
  • Does the same component work on mobile? Fixing one component fixes it everywhere, which is where the leverage is.

Where It Overlaps With Design

Components are where design and development meet, and where projects most often lose consistency.

A design supplied as a set of individually drawn screens tends to produce individually built screens. A design supplied as a set of reusable elements, with rules for how they combine, produces a system that stays coherent as it grows and costs less to extend.

That is worth asking for at the design stage rather than discovering afterwards, because retrofitting consistency into an interface built screen by screen is substantially more expensive than establishing it at the start. It is one of the few decisions in web application work that visibly affects both cost and quality for the whole life of the product.

More terms are in the glossary.

Portrait of Alexander De Sousa, founder of Digital Royalty
Founder-led
“I’ve put everything I know into how this company works — the standards, the method, the care on every project. It runs through the whole team, and I hold us all to it.”

Alexander De Sousa · Founder LinkedIn

Featured on BBC Radio Solent

Get started

Tell us what you need

A few quick questions, then a straight answer from a real person — usually within a few hours.

Tell us what you're working on

Whether it's a new site, a platform, or a process that shouldn't be manual any more — we'll tell you honestly if we can help.