bHive Brand Kit · v2.0 ↓ Download PDF
Visual Identity & Brand System

bHive

A private, on-device librarian for everything on your Mac. One accent, two warm worlds, one honeycomb — this is how bHive looks, everywhere.

App bHive By bHive Software Bundle org.edlings.bhive
02

Wordmark

The name is always bHive — lowercase b, capital H, set in Comfortaa Bold (the brand face). Company is bHive Software. Never all-caps or all-lowercase, and never "BHive" or "bhive".

bHive
Primary lockup · mark + wordmark
bHive
Wordmark alone
UseFaceSize / weightWhere
Sidebar wordmarkComfortaa16 pt · BoldBeside the 22 px mark, top of sidebar
About / splashComfortaa26 pt · BoldSettings ▸ About
Attribution lineSF Procaption"Developed by Brandon Edling · bHive Software"

The letter b is set one weight lighter than Hive in display lockups (a subtle nod to the honeycomb cell), but a single uniform weight is correct at UI sizes.

Ready-made lockups live in docs/brand-kit/logo/ — horizontal & stacked, in dark (honey/charcoal), cream (ink/cream), and transparent honey, as SVG + PNG. The SVG wordmark is outlined to glyph paths, so the files render without Comfortaa installed. See §07.

03

Color

One accent — honey — spent only on what's active. Two deliberate grounds: a warm charcoal dark and a warm cream light, both amber-biased so they never read as flat gray. Tap any value to copy.

Primary accent

Dark world — “warm charcoal” (default)

Light world — “warm cream”

Functional & state colors

These carry meaning, not brand — kept separate from the honey accent.

ColorValueMeaning · where

Tag auto-palette

Tags without a chosen color get a stable, name-hashed pick from this set. It deliberately excludes honey, orange and yellow — honey means selection, and a honey-tinted tag row was field-tested as looking like a stale selection.

SwatchPresetSource
✓

Resolved — website honey unified to the app

The site previously led with a more-orange honey (#E8971A / #F6B733). It now uses the app's canonical stops — #FFB826 accent, #FFC752 soft, #BD750F deep — the app's own honeycomb gradient. The app is the source of truth; every surface conforms to it.

Website palette (reference)

TokenLightDarkRole
04

Typography

Comfortaa is the brand face — the wordmark and brand/display type — and it's licensed so we can embed it anywhere. Everything else runs on the Apple system faces at runtime: SF Pro for all UI and body text, SF Mono (via tabular digits) for aligned numbers. The only custom-font hook beyond the brand face is the user-selectable plain-text preview font.

Comfortaa

The brand face — wordmark, brand/display headings. Geometric-rounded, warm, distinctive. SIL Open Font License, so it embeds in the app, website & PDFs. Weights 300–700 (Bold is the wordmark).

SF Pro

Body, labels, metadata, controls — the whole UI. Used as the OS runtime system font (allowed); never embedded or used as the wordmark.

SF Mono

Tabular digits — counts, timers, byte sizes. Applied as .monospacedDigit(), not a wholesale face swap.

§

Why Comfortaa, not San Francisco?

Apple's font license forbids embedding SF or using it "to create… website content" or "app icons, logos or… trademark use." A wordmark is a logo, and the website/PDFs embed their type — so SF can't be the brand face. Using SF as the OS runtime UI font is fine and continues. Comfortaa (SIL OFL) is free to embed and use as a logo, everywhere.

Type scale (as used in the app)

05

Motion

Motion is quiet and quick. UI transitions live in a tight band (0.08–0.16 s); springs are gentle, never bouncy; and everything is gated on Reduce Motion. Bars below are scaled to a 0.6 s reference.

The living honeycomb

Breathe

The whole comb swells on a long sine: 1 + 0.035·sin(t·0.9). The glow pool breathes with it — opacity 0.14 + 0.06·sin(t·0.9).

Light wave

A pulse travels the petals, phased by each cell's angle from center: sin(t·1.9 − angle − dist·0.6). Fast enough to read as alive, slow enough to stay calm.

Frame rate

TimelineView(.animation(minimumInterval: 1/30)) — 30 fps, paused entirely under Reduce Motion.

Discipline

Every one-frame glitch traced back to an async change losing to a synchronous AppKit one. Cure: hook selection/highlight changes synchronously. Motion should never fight the system.

06

Iconography

System SF Symbols throughout, weighted light-to-regular to sit calmly on the warm grounds. The hexagon is the recurring brand glyph.

The hexagon glyph

hexagon.fill = has content · hexagon = empty. Used for Hives, file placeholders, the About tab, and onboarding — echoing the honeycomb without redrawing it.

Weight & tint

File-type glyphs render at ~0.68× their tile, weight .light. Active icons take the honey tint; everything else stays in ink tones. Symbols use .palette rendering where multi-tone.

07

Assets & Generation

Every mark is generated from code — nothing is hand-drawn, so the geometry and color stay canonical. Regenerate with the two scripts below.

AssetWhat it isGenerated by
AppIcon.icnsHoneycomb app icon, dark, full iconset 16→1024scripts/make_icon.swift
DockIcon-{dark,light}.png1024 px dock icons, live-swapped with system appearancescripts/make_icon.swift
AboutBee.pngTransparent honey mark — onboarding hero, drop shelf, Aboutscripts/make_brand_assets.swift
MenuBarBee.pngSolid template comb (macOS tints it) for the menu barscripts/make_brand_assets.swift
landing/img/{logo,mark}.pngWebsite copies of the honey markscripts/make_brand_assets.swift
logo/bHive-{horizontal,stacked}-{dark,cream,honey}.{svg,png}Full logo lockups — mark + Comfortaa wordmark. Horizontal & stacked; dark (honey/charcoal), cream (ink/cream), transparent honey. SVG (wordmark outlined — no font needed) + PNG.scripts/make_logo_lockup.swift
AccentColor.colorsetAsset-catalog accent = honey #FFB826Assets.xcassets

Regenerate the icon

swift scripts/make_icon.swift <iconset-dir> Resources/

Regenerate all other marks

swift scripts/make_brand_assets.swift

Regenerate the logo lockups

swift scripts/make_logo_lockup.swift

08

Doctrine

The rules that keep bHive consistent. When a styling choice is ambiguous, these decide it.

✓
Honey means selection. The one accent is spent on the active / selected / focused element — nothing else competes for it.
✕
Tags are never honey, orange, or yellow. Those read as selection. Auto-tag palette is red / green / blue / purple / pink / graphite only.
✓
Two warm worlds, never flat gray. Grounds are amber-biased charcoal and cream; system grays are replaced by the Theme tokens.
✓
The honeycomb is the motif. Seven-cell flat-top flower, lit center — same geometry at every size. The hexagon SF Symbol stands in for it in dense UI.
✓
Comfortaa is the brand face; SF is the UI face. Comfortaa (OFL) for the wordmark & brand display — embeddable everywhere. SF Pro for UI/body as the OS runtime font, SF Mono for digits. Never SF for the wordmark or any embedded/logo use — its license forbids it.
✓
The app is the source of truth. Colors and type are canonical in the app (Theme.swift, Comfortaa). The website and every other surface conform to the app — never the reverse.
✓
Quiet, quick motion. 0.08–0.16 s transitions, gentle springs, Reduce-Motion honored. Animation never fights a synchronous system change.
✕
The name is “bHive”. Lowercase b, capital H — not "BHive" or "bhive". Company: bHive Software.