Synthetic UI
Updated January 1, 1999
Published January 1, 1999
Terminal
Types itself out as you scroll past with animated, or renders instantly without.
Chat
user / assistant / tool messages, revealed one at a time.
File tree
Collapsible folders; highlighted nodes get a subtle stone emphasis.
Browser frame
Wraps anything — screenshots, demos, content.
Drop a screenshot or live demo here
Token stream
Streams a completion token-by-token with a tok/s read-out.
Tool call
The structured name(args) → result an agent runs.
{
"city": "Bangkok",
"unit": "celsius"
}{
"temp": 33,
"condition": "humid"
}Benchmark bars
Bars grow from zero on scroll; emphasise the winner with highlight.
Stat cards
Charts
A small free-template chart kit — bar, stacked bar, line, area, pie, donut,
radar — built the same way as everything else here: plain SVG/CSS, the stone
palette, animated reveals on scroll, and a typed data/series prop so any
.mdx post can plug its own numbers in.
Bar
Grouped bars; pass a series array for more than one bar per category.
Stacked bar
Same shape, segments stack into a single column per category.
Line
Multi-series lines that draw themselves in; hover a point for its value.
Area
Set stacked to band series on top of each other instead of overlaying them.
Pie
Donut
Pass centerLabel to drop a total (or anything) in the hole.
Radar
Code diff
Additions in stone, removals in red — no green anywhere.
Flow diagram
Nodes reveal in sequence, then a pulse loops along the chain.
HTTP exchange
{
"message": "hello"
}{
"reply": "hi there",
"tokens": 42
}Callouts
These mockups are decorative — they render their full content for SEO even while the animation plays.
Drop any of these into any .mdx post. They're all in components/synthetic.
Animations only fire once, when scrolled into view.
Remember to register new posts in lib/blog/registry.ts.
Tabs
npm install okf
Keys
Open the palette with Cmd+K or search with Ctrl+/.