TrackCheck
Design System
The visual language behind TrackCheck — colors, typography, components, and motion. One reference, deliberately opinionated.
Color System
Canonical palette, dark-first tokens, and WCAG contrast ratios.
Primary brand color
TrackCheck Green
#18bd63
oklch(0.69 0.17 160)
Green 500
Dark theme surface tokens
--background#25262dPage background
--card#2e2f38Elevated surfaces, cards
--sidebar#21222aSidebar, header bar
--muted#363740Subtle backgrounds
--border#3d3e48Dividers, outlines
--foreground#f2f2f2Body text
--muted-foreground#989898Secondary text
--accent#2d3b33Active nav, selection
Semantic colors
12 / 14 events tracked
#18bd63
Schema drift detected
#d4a017
Missing required property
#e54d2e
GA4 sync scheduled 14:30 UTC
#4a82d5
WCAG contrast ratios
| Preview | Foreground | Background | Ratio | Level |
|---|---|---|---|---|
| Aa | #f2f2f2 | #25262d | 15.2 : 1 | ✓ AAA |
| Aa | #989898 | #25262d | 5.4 : 1 | ✓ AA |
| Aa | #18bd63 | #25262d | 5.9 : 1 | ✓ AA |
| Aa | #ffffff | #18bd63 | 2.7 : 1 | ⚠ AA large only |
| Aa | #d4a017 | #25262d | 7.1 : 1 | ✓ AAA |
| Aa | #e54d2e | #25262d | 4.8 : 1 | ✓ AA |
Canonical Note — Chrome Extension
The extension currently ships an Indigo palette (#6366F1) which diverges from the brand green canonicalized here. This is a known divergence, tracked for resolution in TC-017. Documented intentionally for transparency.
Typography
Inter for product UI. JetBrains Mono for code, tokens, and event names.
Type scale
Track your events
Display36 / 700Know what's firing
H130 / 700Event Coverage Overview
H224 / 600Schema Drift Detected
H320 / 600Required property missing
H418 / 600GA4 event tracking ensures your analytics data reflects real user behavior.
Body14 / 400Event synced at 14:30 UTC
Small13 / 400Last updated Jan 14, 2026
Caption12 / 400page_view · purchase · scroll_depth
Code13 / 400 mono
InterJetBrains Monopage_view
{ "value": 42 }
// event property
Letter spacing
Default body text
tracking: 0
Event Schema
tracking: 0.05em
Display headline
tracking: -0.015em
Iconography
Lucide icon family. 1.5px stroke, 20px default size, consistent metaphors.
Semantic icons
Success
#18bd63
Warning
#d4a017
Error
#e54d2e
Info
#4a82d5
Core library
lucide-reactactivity
bar-chart
bell
clock
database
eye
file-text
filter
plus
search
settings
trash
user
zap
arrow-right
Size guide
Components
Interactive, live demos. These are the real primitives used in production.
Buttons
Form inputs
We'll never share your email.
This field is required.
✓ Available
Cards
Event details
Default
Last synced 2 hours ago. 14 events tracked, 0 drifting.
Event details
Elevated
Last synced 2 hours ago. 14 events tracked, 0 drifting.
Event details
Interactive
Last synced 2 hours ago. 14 events tracked, 0 drifting.
Badges & tags
Alerts
Event schema validated
All 14 events match their expected property shape.
2 events have schema drift
checkout_start is firing without currency. Review diff to resolve.
GA4 connection failed
Credentials have expired. Reconnect your analytics property.
Sync scheduled for 14:30 UTC
Your next automated drift check will run in 2 hours.
Spacing & Layout
4-point scale. Consistent rhythm across cards, sections, and layouts.
Spacing scale
space-1 · 4pxMicro spacing, icon-to-label gapspace-2 · 8pxTight internal paddingspace-3 · 12pxDefault internal paddingspace-4 · 16pxSection spacing, card paddingspace-6 · 24pxSection gap, between cardsspace-8 · 32pxPage section gapspace-10 · 40pxMajor layout sectionsspace-16 · 64pxPage-level vertical rhythm
Border radius
4px6px8px12px16pxfullBreakpoints
Mobile
375px
Tablet
768px
Desktop
1280px+
Motion
Purposeful animation only. Communicates state, orients spatially, or signals feedback.
Principles
150msHover, button press250msSection reveals400msPage transitionsease-outEntering viewportease-in-outUser-drivenease-inLeaving viewportSection reveal
fadeInUp · 350ms
page_view
Tracked · 2s ago
Interactive hover
scale 1.02 · 150ms
Stagger
60ms between
- item_click
- add_to_cart
- checkout_start
Rule. Motion must either (a) communicate state change, (b) guide spatial orientation, or (c) provide feedback to user interaction. Animation for decoration is prohibited.
Voice & Tone
Direct. Specific. Technical without condescension. Help users act, don't apologize.
Sounds like · doesn't sound like
Event checkout_start is missing currency.
Oops! Something went sideways 🙃
12 of 14 events tracked. 2 drifting.
We found some issues with your events!
Reconnect GA4 to resume sync.
Please try to reconnect your account again.
Error messages
Something went wrong.
Event 'page_view' is missing required property 'page_title'. This will cause data gaps in your GA4 reports. Add the property to your event schema.
Sync failed.
GA4 sync failed because credentials expired 3 days ago. Reconnect in Settings → Integrations.
Terminology
| Correct | Avoid |
|---|---|
Event | Hit |
Property | Parameter |
Tracked | Captured |
Schema drift | Event mismatch |
Flow | Funnel |
Coverage | Implementation rate |
Writing rules