Styleguide

The design system in code, and the brand book that goes with it. Tokens: docs/ds/tokens.json → src/styles/tokens.css. Text: docs/ds/*.md, mirrored in the Claude artifact.

Colour

One set, it follows the theme: switch the theme in the header and the values below change.

  • --bg-page#ecefef#0f0f0f
  • --bg-card#ffffff#191919
  • --bg-raised#ebf0f0#1e1e1e
  • --bg-subtle#e6e6e6#282828
  • --bg-glass#ffffffcc#191919cc
  • --scrim-50#ffffff80#19191980
  • --scrim-30#ffffff4d#1919194d
  • --text-primary#191919#f5f5f5
  • --text-90#191919e6#ffffffe6
  • --text-80#191919cc#ffffffcc
  • --text-secondary#191919b3#ffffffb3
  • --line-8#19191914#e6e6e614
  • --line-16#19191929#e6e6e629
  • --line-24#1919193d#e6e6e63d
  • --accent#ffb05c#ff9524
  • --accent-fixed#ffab2b#ffab2b (inherits light)
  • --effect-dot#ff7300#ff7300 (inherits light)
  • --accent-30#ffb05c4d#ff95244d
  • --accent-soft#ffb05c40#ff952433
  • --shadow#0000002e#000000b3
  • --focus-ring{text-primary}{text-primary}
Book a 15-min call

Card on page

bg-card on bg-page, radius-40 with corner-shape superellipse(1.5).

Type, EN and RU

One family (Onest 400/500/600). One clamp() per style between 360 and 1200 px. Size on the right is the computed value at the current width.

.display38px / 1.2 · 500 · -0.01em

Design system

Дизайн система

.hero30px / 1.2 · 600 · -0.01em

Sr. Product Designer

Продуктовый дизайнер

.heading26px / 1.2 · 600 · 0

Experience

Опыт работы

.title20px / 1.2 · 600 · 0

Launch App 0→1

Запуск приложения 0→1

.lead18px / 1.5 · 500 · 0

−80% Time Success Task

−80% Task Success Time

.label16px / 1.5 · 500 · 0

Works

Работы

.caption14px / 1.5 · 400 · 0

2022–2025 · 6 min read

2022–2025 · 6 мин чтения

.body16px / 1.5 · 400 · 0

I build token-based design systems that optimize front-end implementation time.

Проектирую дизайн системы, основанные на токенах, которые сокращают время разработки и поддерживают визуальную целостность продукта.

.numeral56px / 1 · 600 · -0.01em

−30%

−30%

.numeral-xl112px / 1 · 600 · -0.01em

404

404

.overline14px / 1.2 · 400 · 0.15em

Research

Исследования

Metrics use tabular numbers and a real minus:−80% · −30% · 1 234 567 · 0.15em(non-breaking: 30 %).

Radius, spacing, blur

radius-22px
radius-44px
radius-88px
radius-1212px
radius-1616px
radius-2424px
radius-2828px
radius-4040px
radius-pill1000px
.cardradius-40 + superellipse(1.5)
  • --space-22px
  • --space-44px
  • --space-88px
  • --space-1212px
  • --space-1616px
  • --space-2020px
  • --space-2424px
  • --space-3232px
  • --space-4040px
  • --space-4848px
  • --space-5656px
  • --space-6464px
  • --space-7272px
  • --space-8080px
  • --space-100100px
  • --space-120120px
  • --space-140140px
blur-88px
blur-1212px
blur-1616px
blur-2020px
blur-2424px
blur-3232px
blur-4040px
blur-glass8px
blur-chip-hover12px
blur-header40px

Motion tokens

Hover (or focus) a track. Springs are CSS linear() generated from Motion spring(). Disabled under prefers-reduced-motion.

  • ease-hb-out · dur-base
  • ease-hb-inout · dur-slow
  • spring-ui
  • spring-logo
  • spring-cover
  • spring-panel
  • spring-snap
  • spring-lightbox

Shell components

Session 2. Hover, press and Tab through everything. Panel layout follows the viewport: ≥1200 column, 810–1199 wide, <810 one row.

ThemeToggle

sun in dark, moon in light; circular reveal on click

Tag

B2B/B2C SaaSEdTechAgency

PanelMe (home, EN)

Nikita Makarov

Sr. Product Designer · B2B/B2C SaaS

Designer and engineer: I build products from zero to launch

7+ years in B2B and B2C SaaS. I turn chaotic requirements into product logic, own the work from research to production-ready layouts, and drive revenue through self-serve upgrades.

PanelMe (about, RU)

Никита Макаров

Sr. Product Designer · B2B/B2C SaaS

Сёрфер и исследователь

Океан и путешествия научили меня адаптироваться и быть гибким. А бэкграунд в промышленном дизайне научил меня проектировать продукты через призму пользователя, и что во главе угла всегда стоят его проблемы и потребности.

Surface, opacity and links

Every card is a frosted surface: bg-card at surface-alpha over blur-glass. Links rest at link-rest (64% in light, 50% in dark), 80% on hover, 100% pressed or current.

  • --link-rest0.64Nav links, footer links, quiet links at rest, light theme.
  • --link-rest-dark0.5The same in the dark theme (set by hand from link-rest).
  • --link-hover0.8Hover of those links. Pressed and current are 1.
  • --surface-alpha90%Share of bg-card / bg-raised / bg-subtle kept by a frosted surface (--surface, --surface-raised, --surface-subtle). 100% on coarse pointers.
.surfacebg-card 90% + blur-glass
Tile on a cardbg-raised, radius-24, no second blur

Site components

Panel, nav, buttons and tags are in Shell components above. Hover, press and Tab through these.

Key decision

StageCard (text, as the panel shows it)

FlippingBook · Lead &amp; DS Owner

Design system

Text of the card, clamped to four lines.

  • Web + Desktop
  • 2022–2025
Time-to-market
−30%

Footer island

Notes and works

Real components with real content. Figures open the page’s single lightbox (glass, caret arrows, swipe on touch).

Code block (Shiki, --syn-*)

  • --syn-keyword
  • --syn-function
  • --syn-string
  • --syn-constant
  • --syn-param
  • --syn-comment
  • --syn-punct
// tokens follow the theme
export function token(name) {
  return `var(--${name})` ?? null;
}

PostFigure and PostTrio

The locked option in four states: default, hover, pressed and open with a tooltip
PostFigure: full post width, caption, opens the lightbox
Drëmych home screen
Drëmych weekly sleep statistics
Drëmych settings
PostTrio: three phone screens in a row, one caption

Logo, layout, icons

Logo (proposal)

  • Black on light, white on dark, currentColor in UI.
  • Clear space ½ of the mark’s height; minimum 16px on screen, 6 mm in print.
  • Never orange, never a gradient, outline or shadow; do not move the dots.
  • Hover −30°, press −35° on spring-logo, nowhere else rotated.

Layout

  • ≥1200: content 1fr + sticky panel clamp(380px, 31vw, 520px). 810–1199 and below: one column.
  • space-12 is the only gutter. Content card: 100 / 56 / 120 desktop, 40 / 20 / 48 mobile. Text measure 56ch, post 680px.
  • Ground order: bg-page → surface (card) → bg-raised (tile) → bg-subtle (chip). No shadows.

Icons

Phosphor bold, inline SVG on currentColor, 20px (24 in the nav), 44px target. Arrows in text are SVG. Never the accent. Everything the site uses:

  • Icon · sun
  • Icon · moon
  • Icon · x
  • Icon · caret-down
  • Icon · dots-three
  • Icon · sliders-horizontal
  • Icon · speaker-high
  • Icon · speaker-slash
  • Icon · arrow-up-right
  • Icon · magnifying-glass
  • Icon · pen-nib
  • Icon · hammer
  • Icon · chart-line-up
  • Glyph · x
  • Glyph · arrow-right
  • Glyph · arrow-up-right
  • Glyph · arrows-out
  • Glyph · arrows-lr
  • Glyph · caret-left
  • Glyph · caret-right
  • Arrow · right
  • Arrow · left
  • Arrow · up-right