Business panels go unused because they're hard to use. Pi UI is an interface language that rethinks those screens: forty-one building blocks, four rules, a setup running in two sectors.
Three different jobs: closing the day, turning tables, keeping appointments. The layout is identical — only the data and the theme file change.
These aren't preferences; they bind every component and are measured on screen. A new building block that breaks them doesn't get in.
Depth comes from surface tone, not borders. A hairline vanishes on dark themes; thicken it and the screen turns into a cage.
The active row isn't painted over; it gets a three-pixel notch on its left. The eye knows where to look and the screen doesn't shout.
Spend it on navigation and there's nothing left where it matters: the amount, the warning.
Numbers large and tight, labels small and uppercase. Reading a table doesn't require counting rows.
Tokens, surfaces, headings, numerals, rows and table primitives.
StatTile · StatusPill · FilterBar · SearchInput
Navigation rail, mobile bar, live rail, command palette.
IconRail · IdentityBar · NavList
Record lists, people lists, tender panels, customisable boards.
RecordList · MasterDetail · TenderPanel · QuickGrid
import { RecordList, StatTile, TenderPanel } from "pi-ui"It replaces off-the-shelf libraries, shadcn and Radix included. An interface problem is solved here first, then every project inherits it — we don't write the same thing twice.
We can move an existing panel into this language, or build a new one on it from the start. Both draw from the same source.