In short
Admin panels, analytics screens, college ERP portals. Dashboards are everywhere in real jobs, and building one shows you can handle dense layouts, tables and reusable components.
A data-dense admin-style interface — stat cards, a table, and a chart — practice for composing many components together before you wire it up to real backend data in later phases.

Think of it like this
A car's dashboard
Speed, fuel, engine warnings, all visible at a glance without hunting. A good dashboard UI does the same for data: the most important numbers big and up top, details below, and warnings impossible to miss.
Watch it happen
The dashboard's layout tree
1/4The shell is a grid with sidebar, top bar and main area.
The big ideas
What you need to know
Shell layout
Sidebar, top bar and a scrollable content area, built with Grid like an app shell.
Stat cards on top
Three or four key numbers in a row of cards, each with a label and a small change indicator.
Tables that fit
Wrap wide tables in a container with overflow-x: auto so they scroll on phones instead of breaking the page.
Design tokens
Use CSS variables for colours, spacing and radius so every card and table looks consistent.
How it works
Build plan
- 1
Tokens first
Set colours, spacing and radius as CSS variables on :root.
- 2
App shell
Grid with a collapsible sidebar, top bar and main area.
- 3
Stat cards
A responsive row of four cards with auto-fit Grid.
- 4
Data table
A recent orders table with sticky header and horizontal scroll on mobile.
- 5
Dark mode
Swap the token values under a data-theme attribute.
See it in code
Walk through the code
1:root { --gap: 1rem; --card: #fff; --radius: 12px; }2 3.stats {4 display: grid;5 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));6 gap: var(--gap);7}8.stat {9 background: var(--card);10 border-radius: var(--radius);11 padding: var(--gap);12}13 14.table-wrap { overflow-x: auto; }15.table-wrap thead th { position: sticky; top: 0; background: var(--card); }1/4Design tokens for spacing, card colour and corner radius.
Stat cards wrap from four to one column on their own. The table wrapper scrolls sideways on phones and the header sticks while scrolling down.
Save yourself the pain
Common mistakes
Oops
Cramming every chart and number onto one screen.
Do this instead
Lead with the three or four numbers that matter. Put the rest in tabs or lower sections.
Oops
Using colour alone to show 'up' or 'down'.
Do this instead
Add an arrow or a + or − sign too, for colour-blind users.
Your mission
First milestone: overview page
Quick check
A wide data table breaks your dashboard layout on phones. What's the cleanest fix?
Go deeper
- 1Break the dashboard into small, independent, reusable components.
- 2Use placeholder/mock data structured the way your future API will actually return it.
- 3Add loading skeleton states, even before there's a real API to be slow.
More projects at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.