Characters and logos

Product marks

Product characters and logos, their sizes and how to add a mark

A family of characters: each product has its own, with shared DNA. A black silhouette, white eyes and the product accent as a tile under the mark or a glow around a live character. A character is live only where it is the product; in apps it’s a static mark

Character family

ShadeNotes character

ShadeNotes: static mark

Sharp silhouette, crescent eyes, a spark; lime tile; no emotions or animation

Portfolio character

Portfolio: live character

Round head with ears, vertical eyes; cobalt glow; the portfolio’s “one live creature”

Product marks

ShadeNotes on a lime tile

Light

ShadeNotes16ShadeNotes24ShadeNotes28ShadeNotes48ShadeNotes88

Dark

ShadeNotes16ShadeNotes24ShadeNotes28ShadeNotes48ShadeNotes88
npx shadcn@latest add @umbra/brand-shadenotes @umbra/brand-mark

Portfolio: a frame of the live character (site icon, preview)

Light

Portfolio16Portfolio24Portfolio28Portfolio48Portfolio88

Dark

Portfolio16Portfolio24Portfolio28Portfolio48Portfolio88
npx shadcn@latest add @umbra/brand-portfolio

Proposal: a flat portfolio mark for 16–24 px (not in the portfolio yet)

Silhouette and eyes from the live character’s drawing, without gradients; white eyes 1.35 times larger, like the live character at small sizes; a cobalt tile with the same 52/256 radius as ShadeNotes. File: brand/portfolio/mark-proposal.svg

Light

Portfolio, proposed mark16Portfolio, proposed mark24Portfolio, proposed mark28Portfolio, proposed mark48

Dark

Portfolio, proposed mark16Portfolio, proposed mark24Portfolio, proposed mark28Portfolio, proposed mark48

Product colors

ShadeNotes: lime

Light

--primary

--primary-ink

--primary-edge

Text on accent

Dark

--primary

--primary-ink

--primary-edge

Text on accent

Portfolio: cobalt

Light

--primary

--primary-ink

--primary-edge

Text on accent

Dark

--primary

--primary-ink

--primary-edge

Text on accent

Characters: rules

The Umbra character family: every product has its own character, not one for all. The characters differ, united by shared DNA. Source files are in brand/ (moved from the products unchanged), shown on the site’s “Product marks” page (/characters, section “Characters and logos”)

Shared DNA:

  • black silhouette (#0A0A0A in the mark);
  • white eyes;
  • product accent: a tile under the mark or a glow around the live character;
  • each product’s own details, by which the character is recognized

Product characters:

Product Character Own details Form
ShadeNotes mark brand/shadenotes/mark.svg sharp silhouette, crescent eyes, accent-colored spark static mark on a lime tile, radius 52/256; no emotions, animation or gradients (decided in ShadeNotes on November 6, 2026)
Portfolio live mascot brand/portfolio/mascot.svg round head with ears, vertical ellipse eyes #FFFEF5, no spark live: this is the portfolio’s “one live creature”, it is the product

Only ShadeNotes has the spark; do not add it in the portfolio

Live or mark. The “one live creature” rule stays: a live character only where it is the product (portfolio). In apps the character is a static mark (logo, icon, splash screen, sidebar): an animated character in a tool is distracting. The live component lives in the product (the portfolio’s assistant-avatar) and does not go into the registry

The portfolio’s live character:

  • Drawing: dark body with radial gradients (#050507 to #1A132B), purple light from below (#5930AF), soft edge. Gradients and aura glow are allowed only for the live character: this is the creature’s light, not an interface surface. The character’s colors are not interface roles and are not part of the tokens
  • Moods (8), by priority from top to bottom:
Mood When What it looks like
error error tilt, short shiver, drop of sweat
thinking request sent, no answer yet tilt and sway, eyes of different sizes, three dots light up in turn
speaking answer in progress squash and stretch with a small hop, sound arcs pulse
happy answer ready, “thank you” hop with a stretch, sparks, blush
wink greeting wink, nod, little star by the eye
curious the person is typing or lingered on the greeting tilt, searching gaze, eyes toward the input field, “?”
sleepy 40 s without activity head lowered, deep breathing, a “z” rises; any action wakes it up curious
idle rest blinking, breathing, occasional glances
  • Motions (7), as one figure from the bottom center: turn, lean, hop, stretch, shake, settle, twitch. One event at a time; between events only blinking, breathing and glances
  • Gaze: blinking (sometimes double), microsaccades, looking around in eight directions
  • Sizes: 24 and 40 (larger eyes and brows, no accessories or loops), 64 and 120 (mood accessories, scenes only at 120)
  • prefers-reduced-motion: no events or loops, the character stands still
  • Maybe later: gaze following the cursor. Currently tracking is off in the portfolio code; the eyes move only with moods, looking around and glances

Mark for small sizes. The live character has a flat mark for 16–24 px: silhouette without gradients, white eyes, on the product accent tile with the same 52/256 radius. For the portfolio this is the proposal brand/portfolio/mark-proposal.svg (cobalt tile), not yet shipped in the product

How to make a character for a new product (DNA checklist):

  • its own silhouette, black, recognizable by outline without eyes and details;
  • white eyes, legible at 16 px (at small sizes the eyes are larger, like the portfolio’s live character);
  • one detail of its own that distinguishes the character from the others; do not take other characters’ details (the ShadeNotes spark, the portfolio ears);
  • mark on the product accent tile, radius 52/256 (macOS icon grid 824/1024);
  • no gradients, shadows, strokes or emotions in the mark;
  • legible at 16, 24, 28 and 48 px on the window and on the tile in both themes;
  • a live version only if the character is the product; then aura gradients as the creature’s light, and prefers-reduced-motion stops it

Mark component @umbra/brand-mark

BrandMark: the product character on an accent tile at the size you need

npx shadcn@latest add @umbra/brand-mark

An <img> of the mark with fixed sizes and dragging disabled. The mark comes from public/brand/ (the product’s brand item)

When to use

  • Logo in Sidebar (48), launch splash (88), small spots (16, 24, 28)

When not to use

  • A living mascot with moods: the portfolio component
  • Action icons: Icon

Mark in the sidebar: 48 px

Don’t

  • Animation, emotions, shadow or outline on the mark

ShadeNotes mark @umbra/brand-shadenotes

ShadeNotes mark files and the app icon for the product

npx shadcn@latest add @umbra/brand-shadenotes

The ShadeNotes character in the Umbra character family: shared DNA (black silhouette, white eyes, accent tile) and its own details (sharp silhouette, crescent eyes, spark). A static mark. The same drawing as in the app icon. Files go into public/brand/

When to use

  • 48 px sidebar logo: <BrandMark src="/brand/shadenotes.svg" name="ShadeNotes" />
  • Launch splash screen, email header, loading page

When not to use

  • In the portfolio or a new product: they have their own accent and their own mark
  • As a live character: the mark has no emotions or animation

This item has no live example: it installs files or rules. See the “Code” tab to set it up

Do

  • Sizes from 16 to 1024; at 16–24 px do not add details to the mark

Don’t

  • Recolor the tile to anything other than the product accent, add a shadow, gradient or stroke
  • Change the app icon without the author’s decision

Portfolio mark @umbra/brand-portfolio

A still frame of the live character and the portfolio site icon

npx shadcn@latest add @umbra/brand-portfolio

A static frame of the portfolio’s live character. Body gradients and aura light are allowed only for it: this is the light of a live creature, the portfolio’s “one live creature”. The character spec is in DESIGN.md (“Product layer”, “Characters”) and on the “Product marks” page

For 16–24 px a flat mark is proposed, brand/portfolio/mark-proposal.svg: the same silhouette without gradients, white eyes on a cobalt tile. This is a proposal: it is not part of the registry item and has not been shipped in the portfolio

When to use

  • Portfolio site icon, link previews

When not to use

  • In apps and other products: every product has its own character
  • As a live character in another product: a product has only one live creature, and for the portfolio it is this one

This item has no live example: it installs files or rules. See the “Code” tab to set it up

Don’t

  • Add the spark to the portfolio character: it is a ShadeNotes detail
  • Animate the frame in another product