Designing Quiet Systems

A short meditation on building software that respects attention, with practical notes on typography, spacing, and reader-focused interfaces.


4 min read
A soft abstract composition of overlapping curved shapes in warm neutral tones.

Introduction

Most software surfaces are noisy. Notifications blink, sidebars shout, and every pixel competes for attention. The result is not engagement; it is fatigue. Building a quiet system means reversing that trend. It means making the interface disappear so the content can speak.

This post is a short field guide to that idea. It covers the principles behind calm interfaces, the typography that supports them, and a few concrete patterns you can use today. Along the way we will look at links, lists, tables, code blocks, and callouts — the ordinary elements that become extraordinary when they are treated with care.

The value of restraint

Quiet design is not empty design. It is design that knows what to remove. Every element on the page should earn its place by serving the reader. If it does not clarify, guide, or delight, it is probably clutter.

A few useful questions to ask:

  • Does this element help the reader understand the next sentence?
  • Would the page still work if this element were removed?
  • Is the visual hierarchy honest about what matters most?

When the answer to the first two is no, consider deleting. When the hierarchy is dishonest, redraw it. The best editorial pages feel inevitable, as if no other arrangement were possible.

Working with type

Typography is the voice of the interface. A good reading typeface is invisible. It lets the reader forget about the medium and sink into the message.

For this site I use two complementary typefaces. The article title is set in Season, a refined serif that carries a little extra character at large sizes. Everything else — body text, headings, metadata, captions — is set in Matter, a clean sans-serif that stays legible at every scale. Inline code uses a monospace font, like const typography = "quiet".

A note on spacing

Spacing is just as important as type. Generous line-height, comfortable paragraph gaps, and clear heading margins create rhythm. Without rhythm, even beautiful type feels chaotic.

  • Keep body line-height around 1.65 to 1.75.
  • Add more space before a heading than after it.
  • Let related elements sit closer together than unrelated ones.

Links and navigation

Links should be recognizable without shouting. A restrained underline and a calm blue color do the job well. External links can open in a new tab when leaving the reading context, like this note about MDX on the Next.js site. Internal links, like the blog index, should use client-side navigation.

Here is a sentence with an inline link to the typography section so you can see how they behave inside a paragraph.

Lists and structure

Lists are one of the most under-rated tools in technical writing. They break complex ideas into scannable pieces. But lists need breathing room. Cramped lists feel like walls of text.

Ordered lists

When sequence matters, use an ordered list:

  1. Define the problem in one sentence.
  2. Remove everything that does not clarify the problem.
  3. Add back only the elements that serve the reader.
  4. Refine the spacing and rhythm until the page feels calm.

Nested lists

Nested lists show hierarchy without extra headings:

  • Research phase
    • Interview readers about their goals.
    • Collect examples of calm interfaces.
    • Identify the three most important actions.
  • Design phase
    • Sketch the information architecture.
    • Choose type and spacing tokens.
    • Build the smallest readable version.
  • Refinement phase
    • Test on real devices.
    • Remove one unnecessary element.
    • Adjust contrast and focus states.

Quiet design is the art of leaving out the right things.

Callouts and asides

Callouts are useful for warnings, tips, and important notes. They should feel lighter than the main text, not heavier. A thin border, a soft background, and an optional label are usually enough.

Tip

When in doubt, increase the whitespace. Most layouts look better after the equivalent of a deep breath.

Important

Avoid decorative shadows, gradients, and animated entrances in editorial spaces. They compete with the reading experience instead of supporting it.

Tables for structured data

Tables work best when they are allowed to breathe. Give cells comfortable padding, use a light header row, and let wide tables scroll horizontally on small screens.

PrincipleQuestion to askCommon mistake
ClarityDoes the reader know what to do next?Adding too many competing actions.
RestraintCan anything be removed without harm?Keeping legacy elements out of habit.
RhythmIs the spacing consistent and predictable?Using arbitrary margins everywhere.
FeedbackDoes every interaction provide a response?Showing feedback only on success.

On wide screens, this table breaks out of the normal reading column so complex data remains readable.

Code with context

Code blocks are where most documentation pages fall apart. Either they are too dark, too small, or missing copy functionality. A good code block is light, spacious, and easy to copy.

bash
# Clone the example repository
git clone https://github.com/example/quiet-systems.git
cd quiet-systems
 
# Install dependencies and start the dev server
bun install
bun run dev

For a more specific example, here is a small TypeScript function:

ts
function readingTime(text: string, wordsPerMinute = 220): number {
  const words = text.trim().split(/\s+/).filter(Boolean).length;
  return Math.max(1, Math.round(words / wordsPerMinute));
}

Images and figures

Images should not shift the layout as they load. Always provide dimensions, either explicitly or through the image component. Captions should be small, muted, and close to the image.

A soft abstract composition of overlapping curved shapes in warm neutral tones.
A quiet composition: overlapping shapes in warm neutral tones.

Conclusion

Quiet systems are built one decision at a time. Choose a calm palette. Respect the type. Add space. Remove clutter. Make every interaction feel intentional. The result is a page that readers can trust — and return to.