Design system
Cascade
Frontend Now’s design system — tokens cascade into components, then into every dashboard surface. Inspired by Syntax Arena, built for light and dark.
Foundation
About
Cascade is the shared visual and interaction language for Frontend Now’s product UI — dashboard, job tracker, games, and shared chrome.
Named for the CSS cascade: design tokens flow into primitives in components/ui, then into pages. Syntax Arena’s charcoal surfaces and cyan energy set the tone without locking the product to a single game skin.
Foundation
Usage
Prefer Cascade primitives over one-off colours. Primary = brand cyan; secondary / outline / ghost stay greymode; destructive for delete.
import { Button } from "@/components/ui/button";
import { PageShell, PageHeader } from "@/components/ui/page-shell";
// Prefer these instead of ad-hoc bg-blue-600 / orange pills
<Button>Save</Button>
<Button variant="secondary">Edit</Button>
<Button variant="destructive">Delete</Button>Open dashboardFoundation
Logo
Official Cascade brand assets as transparent WebP. Use the white-wordmark wide lockup on dark UI; glow and tall variants read best on light surfaces.
Mark
512px
192pxWide — dark UI
White wordmark for charcoal / navy backgrounds.

Wide glow & tall — light UI
Darker wordmarks shown on a light surface for contrast.


Foundation
Colors
Semantic tokens with light and dark values. Toggle theme from the page header.
background
foreground
card
primary
secondary
muted
accent
destructive
success
warning
border
ring
Foundation
Typography
Space Grotesk for display and UI titles; readable body text for content.
Display
Title
Body — used for supporting copy and long-form descriptions.
Label
Muted
Eyebrow
Foundation
Accessibility
Cascade is keyboard-first and contrast-aware in both themes.
- Visible focus rings on all interactive primitives (
cascade-focus-ring). - Icon-only controls require
aria-labeland use a minimum 40×40 hit target. - Light and dark semantic colors target WCAG AA for text on surfaces.
- Motion respects
prefers-reduced-motion. - Form fields pair visible labels with hints and errors.
Components
Component
Badge
Status and metadata pills used across job tracker, rewards, and progress.
Component
Card
Primary surface for dashboard panels and feature blocks.
72% complete
Component
Field, Input, Select, Textarea
Labeled form controls with hints and errors for accessible forms.
Pulled from job URL import when available.
Notes are optional but recommended.
Component
Dialog
Modal shell with a larger, focusable dismiss control.
Component
Tabs
Section navigation for dashboard views.
Overview panel content.
Component
Table
Data tables for job applications and admin lists.
| Company | Position | Status |
|---|---|---|
| Stripe | Frontend Engineer | Applied |
| Vercel | UI Engineer | Interview |
Component
Progress
Course and track completion bars with ARIA progress semantics.
Component
Spinner & Skeleton
Loading affordances that respect reduced-motion preferences.
Component
Alert & EmptyState
Inline feedback and empty collection states.
Certificate unlocked
No applications yet
Import a job posting URL or add one manually.
Component
PageShell & PageHeader
Consistent page framing used across dashboard routes. See this page’s layout as the live example.
Import PageShell and PageHeader from @/components/ui/page-shell.
