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.