Header Components: An Exception to Reusability

Treat your site header as a unique beast, not a reusable component. Its complexity—managing branding, responsive navigation, and sticky positioning—makes abstraction brittle. The footgun is reusing the entire header instead of just its internal components.
Why it exists
In design systems, the default goal is to make every component reusable. However, this principle creates significant friction when applied to the global site header, which is often the most complex, stateful, and context-specific component in an entire application.
The mental model
Treat the site header as a unique beast, an exception to the rule of maximum reuse. Instead of building a generic, configurable header component, build a specific, one-off composition. The value is in reusing the smaller pieces inside the header, not the container itself.
How it works
You intentionally "cut the cord" on reusability for the header container. This component is built specifically for its single purpose at the top of the page. The focus shifts from abstracting the container to ensuring the elements it contains are reusable. These smaller components, such as the logo, primary navigation links, search form, and utility buttons (like "Log In"), are built as flexible, context-agnostic patterns. The header then acts as a bespoke layout that orchestrates these reusable pieces, handling all the complex logic like responsive transformations and sticky positioning.
When to use it
Apply this "don't abstract the container" philosophy to the global site header, also known as the masthead. This is the component used exactly once per page, responsible for top-level branding and wayfinding. It's especially relevant when the header has complex responsive behaviors, like collapsing to an accordion on mobile and expanding to a mega menu on desktop.
When not to use it
This advice does not apply to the components within the header. The logo, search bar, and navigation patterns should be built for reuse. The principle of avoiding abstraction is specific to highly complex, single-use compositions. For most other components, like buttons, cards, or form inputs, aiming for maximum reuse is still the correct approach.
One canonical example
A header might combine a reusable <Logo>, <PrimaryNav>, and <SearchForm> component. The header's custom logic dictates that on screens narrower than 768px, the <PrimaryNav> renders as a hamburger-triggered drawer. On wider screens, it transforms into a visible mega menu. The header also manages its own position: sticky behavior. Trying to build a generic <Header> component that could handle all these specific requirements via props would result in a brittle, over-engineered mess.
Interview question
According to the card, what is the most effective strategy for implementing a global site header in a design system?
- a.Develop a single, highly configurable Header component to ensure maximum reusability across the entire application.
- b.Treat the header container as a unique, bespoke composition, while ensuring its internal elements are built for reuse.Correct
- c.Prioritize making every part of the header, including its layout and responsive logic, fully abstract and reusable.
- d.Design the header as a generic component, but only for pages with minimal branding and simple navigation needs.
Why? this is the answer
The card advises treating the header container as a unique, one-off composition due to its complexity, while its internal components (like logo or navigation) should be reusable. Option A describes the common pitfall of trying to make the entire complex header container reusable, leading to a brittle component.
Just read this? Test yourself on what you have been reading.
Read the original → bradfrost.com
- #design systems
- #component design
- #frontend
- #atomic design
You just looked this up. Could you explain it out loud?
That is the part interviews actually test. Tezvyn takes questions like this one and gives you what the interviewer is really checking, the answer that lands, and the mistake that ends the conversation, in the four minutes before your next meeting.
The iPhone app is on the way
We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.
Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.
We are hiring for this. Open roles that interview on design systems — each one lists the topics its interview covers.
See open roles