← index
Home/ Documentation/ Atomic Methodology

Atomic methodology

Harbor is assembled from five interlocking layers — atoms, molecules, organisms, templates, and pages. Smaller pieces are combined into larger ones. Nothing on a page appears that was not first defined as a molecule or organism here.

ATOMS 01 MOLECULES 02 ORGANISMS 03 TEMPLATES 04 PAGES 05
Atoms — 34 Molecules — 18 Organisms — 9 Templates — 4 Pages — 2

01 — Atoms Atomic

The irreducible interface primitives. Can't be broken down further without losing meaning.

Atom / Buttonsrc/atoms/Button.tsx
// <Button> — Atom / 34 of 34
<Button variant="primary">Primary</Button>
Atom / Inputsrc/atoms/Input.tsx
Atom / Color tokentokens/color.json
ink.900#0F1014
ink.700#3B3E46
accent.500#2A4BFF
accent.50#E3E7FF
paper#FBFAF7

02 — Molecules Molecular

Small groups of atoms bonded for a single purpose.

Molecule / SearchFieldInput + Button
// Atoms used: Input, Button
<SearchField placeholder="Search components…" />
Molecule / ToggleCardLabel + Helper + Switch
Email digestSent every Monday, 9:00 local.

03 — Organisms Organism

Distinct interface sections made of molecules and atoms. Organisms can stand alone.

Organism / SiteHeaderLogo + Nav + SearchField + Avatar
// Molecules: SearchField · Atoms: Logo, Nav, Avatar
<SiteHeader currentUser={jl} />

04 — Templates Template

Layout skeletons. Describe structure, not content.

Template / SearchResultsLayoutHeader · Filters · Results · Footer
organism.header
organism.filterPanel
organism.resultsList

05 — Pages Page

Specific instances of templates, with real copy, data, and media.

Page / harbor.dev/search?q=toggleRendered via SearchResultsLayout
harbor.dev/search?q=toggle
JL

3 results for "toggle"

in Components · sorted by relevance
ToggleCard · MoleculePairs a label, a helper sentence, and a Switch atom.
Switch · AtomBinary state control with 200ms thumb transition.
SettingsGroup · OrganismStacks 3+ ToggleCard molecules with a shared heading.

Why it scales

Designers talk about molecules, engineers ship molecules, and QA tests molecules — everyone in the same vocabulary.

Where it strains

Naming boundaries between a complex molecule and a small organism is the source of most of our review disagreements.

How we decide

If a component can usefully live on a page alone, it is an organism. If it only makes sense inside a larger block, it stays a molecule.