DesignMD Maker logo ← Home Report · Code analysis
P
Design System

Poetic — Turn your business into software

Design system extracted from https://poetic.com on 2026-08-15 (code-based analysis).

Source · https://poetic.com Engine · Code analysis Created · Aug 15, 2026 00:44 Cost · $0.0000
Detected Language

Design Style

technical / mono accents
monospace font in use
Palette

Colors

primary
#FCBB00
1.71 on white · 12.25 on black · 45° 100% 49%
secondary
#000000
21 on white · 1 on black · 0° 0% 0%
accent
#221FC3
10.23 on white · 2.05 on black · 241° 73% 44%
Token Roles 13 tokens
background
#FDFDFC · 20.63:1 vs black
text-primary
#21201C · 16.3:1 vs white
surface
#FDFDFC · 20.63:1 vs black
text-secondary
#808080 · 3.95:1 vs white
border
#FDFDFC · 20.63:1 vs black
on-primary
#21201C · 16.3:1 vs white
on-secondary
#FFFFFF · 21:1 vs black
on-accent
#FFFFFF · 21:1 vs black
surface-container-lowest
#FFFFFF · 21:1 vs black
surface-container-low
#FDFDFC · 20.63:1 vs black
surface-container
#FBFBF9 · 20.27:1 vs black
surface-container-high
#F7F7F7 · 19.6:1 vs black
surface-container-highest
#F7F7F5 · 19.58:1 vs black
Detected Palette 17 colors by frequency in source CSS
#000000
used 38× · 0° 0% 0%
#FFFFFF
used 6× · 0° 0% 100%
#FDFDFC
used 3× · 60° 20% 99%
#FCBB00
used 2× · 45° 100% 49%
#1F1500
used 2× · 41° 100% 6%
#0A0A0A
used 2× · 0° 0% 4%
#221FC3
used 2× · 241° 73% 44%
#3279FC
used 2× · 219° 97% 59%
#808080
used 2× · 0° 0% 50%
#F7F7F5
used 2× · 60° 11% 96%
#000033
used 2× · 240° 100% 10%
#F99C00
used 1× · 38° 100% 49%
#B75000
used 1× · 26° 100% 36%
#21201C
used 1× · 48° 8% 12%
#FBFBF9
used 1× · 60° 20% 98%
#F7F7F7
used 1× · 0° 0% 97%
#21221A
used 1× · 68° 13% 12%
Type System

Typography

display
inherit
60px · 500 · LH 1 · LS -.03em
Poetic — Turn your business into software
headline-lg
inherit
40px · 500 · LH 1 · LS -.03em
Poetic — Turn your business into software
headline-md
inherit
30px · 500 · LH 1 · LS -.03em
Poetic — Turn your business into software
title-lg
inherit
21px · 500 · LH 1.4
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
body-lg
inherit
18px · 500 · LH 1.5
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
body-md
inherit
16px · 500 · LH 1.5
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-md
inherit
13.7px · 500 · LH 1.4
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
label-sm
inherit
12px · 500 · LH 1.4
Typography is the discipline of rendering language visible. Spacing, weight, and rhythm carry meaning long before words are read.
Detected Font Stacks
suissevar(--font-sans)suisse Fallbackvar(--font-mono)var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)var(--font-numeral)
Structure

Layout

Container
Section padding: · card padding:
Grid
12-column reference grid · gap
Spacing Scale
xs
7px
sm
8px
md
19.2px
lg
40px
xl
60px
detected
7px
detected
8px
detected
9px
detected
10px
detected
11.745px
detected
12px
detected
19.2px
detected
20px
detected
24px
detected
30px
Breakpoints
40rem48rem64rem80rem96rem1720px
Geometry

Shapes

md
8px
lg
28px
pill
9999px
r4
14.5px
r5
63px
Tokens in Context

Components

button-primary
fontWeight600
transitionopacity 200ms cubic-bezier(0.4, 0, 0.2, 1)
button-secondary
fontWeight600
transitionopacity 200ms cubic-bezier(0.4, 0, 0.2, 1)
navigation-link
fontWeight600
textColor#000000
transitionopacity 200ms cubic-bezier(0.4, 0, 0.2, 1)
badge
rounded9999px
backgroundColor#3279FC
fontWeight500
textColor#FFFFFF
padding8px 16px
card
background{colors.surface}
border1px solid {colors.border}
radius28px
Animation

Motion

Keyframes 12 found
@keyframes sheet-overlay-in
0%{opacity:0}to{opacity:1}
@keyframes sheet-overlay-out
0%{opacity:1}to{opacity:0}
@keyframes sheet-in
0%{opacity:0}to{opacity:1}
@keyframes sheet-out
0%,55%{opacity:1}to{opacity:0}
@keyframes menu-item-in
0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}
@keyframes menu-item-out
0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}
@keyframes intro-logo
0%{opacity:0}70%{opacity:1}to{opacity:1}
@keyframes intro-bar
0%{opacity:0;transform:translate(-56px)}12%{opacity:1}50%{opacity:1;transform:translate(256px)}78%{opacity:1;transform:translate(256px)}80%{opacity:0;transform:translate(256px)}83%{opacity:0;transform:translate(256px)}85%{opacity:1;transform:translate(256px)}88%{opacity:1;transform:translate(256px)}90%{opacity:0;transform:translate(256px)}93%{opacity:0;transform:translate(256px)}95%{opacity:1;transform:translate(256px)}98%{opacity:1;transform:translate(256px)}to{opacity:0;transform:translate(256
@keyframes intro-fade-out
to{opacity:0}
Applied Animations
var(--animate-pulse)1s linear .5s both intro-logo1s cubic-bezier(.4,0,.2,1) .5s both intro-bar
Easing Curves
cubic-bezier(0, 0, .2, 1)cubic-bezier(.4, 0, .6, 1)cubic-bezier(.4, 0, .2, 1)var(--tw-ease,var(--default-transition-timing-function))var(--ease-out)cubic-bezier(.4,0,.2,1)
Proof

Live Preview

Complete Reference

Full design.md Specification

Design Specification — Poetic — Turn your business into software

FieldValue
Site / Projecthttps://poetic.com
Analyzed on2026-08-15
Analysis modeAutomated code extraction (no AI)

Overview

This design system was extracted programmatically from the source page. It is built on a light canvas (#FDFDFC), ink text (#21201C), a vivid accent (#221FC3). All type is set in suisse. Detected font weights: 500, 600, 700. Detected style signatures: technical / mono accents.

Logo asset(s): https://poetic.com/_next/static/media/inner3.2k0eujwx99d4t.png · https://poetic.com/_next/static/media/chime-logo.0u5jajqlkfs6m.svg

Color System

Detected palette (by frequency)

HexRGBHSLCount
#0000000, 0, 00° 0% 0%38
#FFFFFF255, 255, 2550° 0% 100%6
#FDFDFC253, 253, 25260° 20% 99%3
#FCBB00252, 187, 045° 100% 49%2
#1F150031, 21, 041° 100% 6%2
#0A0A0A10, 10, 100° 0% 4%2
#221FC334, 31, 195241° 73% 44%2
#3279FC50, 121, 252219° 97% 59%2
#808080128, 128, 1280° 0% 50%2
#F7F7F5247, 247, 24560° 11% 96%2
#0000330, 0, 51240° 100% 10%2
#F99C00249, 156, 038° 100% 49%1
#B75000183, 80, 026° 100% 36%1
#21201C33, 32, 2848° 8% 12%1
#FBFBF9251, 251, 24960° 20% 98%1
#F7F7F7247, 247, 2470° 0% 97%1
#21221A33, 34, 2668° 13% 12%1

Assigned roles

Roles are taken from the page's own semantic CSS custom properties when present, otherwise inferred from usage frequency + luminance/saturation.

TokenHexRGBHSL
--color-background#FDFDFC253, 253, 25260° 20% 99%
--color-text-primary#21201C33, 32, 2848° 8% 12%
--color-primary#FCBB00252, 187, 045° 100% 49%
--color-accent#221FC334, 31, 195241° 73% 44%
--color-surface#FDFDFC253, 253, 25260° 20% 99%
--color-secondary#0000000, 0, 00° 0% 0%
--color-text-secondary#808080128, 128, 1280° 0% 50%
--color-border#FDFDFC253, 253, 25260° 20% 99%
--color-on-primary#21201C33, 32, 2848° 8% 12%
--color-on-secondary#FFFFFF255, 255, 2550° 0% 100%
--color-on-accent#FFFFFF255, 255, 2550° 0% 100%

Surface ramp (derived from detected light neutrals)

TokenHex
--color-surface-container-lowest#FFFFFF
--color-surface-container-low#FDFDFC
--color-surface-container#FBFBF9
--color-surface-container-high#F7F7F7
--color-surface-container-highest#F7F7F5

Typography

Primary typeface: suisse — stack: suisse

Font stacks (most used first)

  • suisse
  • var(--font-sans)
  • suisse Fallback
  • var(--font-mono)
  • var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji")
  • var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace)
  • var(--font-numeral)

Derived type scale

TokenSize
display60px
headline-lg40px
headline-md30px
title-lg21px
body-lg18px
body-md16px
label-md13.7px
label-sm12px

Font sizes (by frequency)

SizeCount
18px4
24px4
32px3
13px2
16px2
20px2
28px2
36px2
40px2
48px2
56px2
60px2
21px2
30px2
38px2
1em1
10px1
11px1
12px1
13.703px1

Weights in use: 500, 600, 700

Line heights (by frequency)

ValueCount
14
.92
1.12
1.22
1.51
01
.81
.951
1.051
1.61

Letter spacing (by frequency)

ValueCount
-.03em4
-.04em3
-.02em2
-.01em1
-.6px1
-.28px1
-.32px1
-.42px1

Spacing

Derived spacing scale

TokenValue
xs7px
sm8px
md19.2px
lg40px
xl60px

Raw values (by frequency)

ValueCount
9px2
11.745px2
24px2
40px2
7px1
8px1
10px1
12px1
19.2px1
20px1
30px1
31px1
44.24px1
50px1
60px1
96.302px1

Borders & Radius

Derived radius tokens

TokenValue
md8px
lg28px
pill9999px

Raw values (resolved, by frequency)

RadiusCount
02
1rem1
14.5px1
28px1
63px1
9999px1
.5rem1
.75rem1

Layout

Container max-width: 768px

Grid columns (largest detected grid): 4

Breakpoints

  • 40rem
  • 48rem
  • 64rem
  • 80rem
  • 96rem
  • 1720px

Animation & Motion

Easing curves

  • cubic-bezier(0, 0, .2, 1)
  • cubic-bezier(.4, 0, .6, 1)
  • cubic-bezier(.4, 0, .2, 1)
  • var(--tw-ease,var(--default-transition-timing-function))
  • var(--ease-out)
  • cubic-bezier(.4,0,.2,1)

Keyframes

@keyframes sheet-overlay-in { 0%{opacity:0}to{opacity:1} }
@keyframes sheet-overlay-out { 0%{opacity:1}to{opacity:0} }
@keyframes sheet-in { 0%{opacity:0}to{opacity:1} }
@keyframes sheet-out { 0%,55%{opacity:1}to{opacity:0} }
@keyframes menu-item-in { 0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)} }
@keyframes menu-item-out { 0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)} }
@keyframes intro-logo { 0%{opacity:0}70%{opacity:1}to{opacity:1} }
@keyframes intro-bar { 0%{opacity:0;transform:translate(-56px)}12%{opacity:1}50%{opacity:1;transform:translate(256px)}78%{opacity:1;transform:translate(256px)}80%{opacity:0;transform:translate(256px)}83%{opacity:0;transform:translate(256px)}85%{opacity:1;transform:translate(256px)}88%{opacity:1;transform:translate(256px)}90%{opacity:0;transform:translate(256px)}93%{opacity:0;transform:translate(256px)}95%{opacity:1;transform:translate(256px)}98%{opacity:1;transform:translate(256px)}to{opacity:0;transform:translate(256 }
@keyframes intro-fade-out { to{opacity:0} }
@keyframes intro-cover-wipe { 0%{transform:translate(0)}to{transform:translate(100%)} }
@keyframes hover-trail-pop { 0%{transform:scale(0)}to{transform:scale(1)} }
@keyframes pulse { 50%{opacity:.5} }

Animations

  • var(--animate-pulse)
  • 1s linear .5s both intro-logo
  • 1s cubic-bezier(.4,0,.2,1) .5s both intro-bar

Components

Extracted from the page's own interactive elements (classes → resolved CSS values).

button-primary — sample text: “AIG”

PropertyValue
fontWeight600
transitionopacity 200ms cubic-bezier(0.4, 0, 0.2, 1)

button-secondary — sample text: “SOFI”

PropertyValue
fontWeight600
transitionopacity 200ms cubic-bezier(0.4, 0, 0.2, 1)

navigation-link

PropertyValue
fontWeight600
textColor#000000
transitionopacity 200ms cubic-bezier(0.4, 0, 0.2, 1)

badge

PropertyValue
rounded9999px
backgroundColor#3279FC
fontWeight500
textColor#FFFFFF
padding8px 16px

Source Design Tokens (CSS custom properties)

:root {
  --font-suisse: "suisse", "suisse Fallback";
  --font-sans: var(--font-suisse), "Suisse Intl", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Monaco, "Cascadia Code", Consolas, monospace;
  --color-amber-400: #fcbb00;
  --color-amber-500: #f99c00;
  --color-amber-700: #b75000;
  --color-black: #000;
  --color-white: #fff;
  --spacing: .25rem;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --leading-tight: 1.25;
  --leading-relaxed: 1.625;
  --radius-lg: .5rem;
  --radius-xl: .75rem;
  --radius-2xl: 1rem;
  --ease-out: cubic-bezier(0, 0, .2, 1);
  --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
  --blur-sm: 8px;
  --blur-lg: 16px;
  --aspect-video: 16 / 9;
  --default-transition-duration: .15s;
  --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
  --font-numeral: var(--font-suisse), "Suisse Intl", ui-sans-serif, system-ui, sans-serif;
  --color-sand-1: #fdfdfc;
  --color-sand-12: #21201c;
  --color-cream: #fbfbf9;
  --color-wordmark: #f7f7f7;
  --text-display: 5rem;
  --text-display--line-height: .9;
  --text-display--letter-spacing: -.04em;
  --text-display--font-weight: 600;
  --text-heading: 2.5rem;
  --text-heading--line-height: 1;
  --text-heading--letter-spacing: -.04em;
  --text-heading--font-weight: 600;
  --text-lead: 1rem;
  --text-lead--line-height: 1.1;
  --text-lead--letter-spacing: -.03em;
  --text-lead--font-weight: 600;
  --text-body: .875rem;
  --text-body--line-height: 1;
  --text-body--letter-spacing: -.03em;
  --text-body--font-weight: 600;
  --radius-full: 9999px;
  --body-bg: var(--color-sand-1);
  --body-color: var(--color-sand-12);
}

Do's and Don'ts

Do

  • Do reserve the accent #221FC3 for interactive highlights and key moments — it is used sparingly on the source page.
  • Do keep the canvas at #FDFDFC; surfaces should stay within the detected neutral ramp.
  • Do stick to the detected font weight(s): 500, 600, 700.

Don't

  • Don't introduce colors outside the detected palette — every hue above was found in the source.
  • Don't add gradients — the source page uses flat fills exclusively.
  • Don't add drop shadows; the source page relies on borders and surface shifts for depth, not elevation.

Design Tokens (copy-paste)

:root {
  --color-background: #FDFDFC;
  --color-text-primary: #21201C;
  --color-primary: #FCBB00;
  --color-accent: #221FC3;
  --color-surface: #FDFDFC;
  --color-secondary: #000000;
  --color-text-secondary: #808080;
  --color-border: #FDFDFC;
  --color-on-primary: #21201C;
  --color-on-secondary: #FFFFFF;
  --color-on-accent: #FFFFFF;
  --color-surface-container-lowest: #FFFFFF;
  --color-surface-container-low: #FDFDFC;
  --color-surface-container: #FBFBF9;
  --color-surface-container-high: #F7F7F7;
  --color-surface-container-highest: #F7F7F5;
  --font-sans: suisse;
  --font-size-display: 60px;
  --font-size-headline-lg: 40px;
  --font-size-headline-md: 30px;
  --font-size-title-lg: 21px;
  --font-size-body-lg: 18px;
  --font-size-body-md: 16px;
  --font-size-label-md: 13.7px;
  --font-size-label-sm: 12px;
  --radius-md: 8px;
  --radius-lg: 28px;
  --radius-pill: 9999px;
  --space-xs: 7px;
  --space-sm: 8px;
  --space-md: 19.2px;
  --space-lg: 40px;
  --space-xl: 60px;
  --tracking-display: -.03em;
  --container-max: 768px;
}