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: static mark
Sharp silhouette, crescent eyes, a spark; lime tile; no emotions or animation
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
Dark
npx shadcn@latest add @umbra/brand-shadenotes @umbra/brand-markPortfolio: a frame of the live character (site icon, preview)
Light
Dark
npx shadcn@latest add @umbra/brand-portfolioProposal: 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
Dark
Product colors
ShadeNotes: lime
Light
--primary
--primary-ink
--primary-edge
Dark
--primary
--primary-ink
--primary-edge
Portfolio: cobalt
Light
--primary
--primary-ink
--primary-edge
Dark
--primary
--primary-ink
--primary-edge
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 (
#0A0A0Ain 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 (
#050507to#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-motionstops 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-markAn <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-shadenotesThe 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-portfolioA 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