Antonin JanuskaEst. 2012 · Boulder, Colorado

Pattern Library

UI Patterns

A UI pattern library built for coding agents. 40 patterns, each shipping a copy-paste prompt that rebuilds it inside your own codebase — plus a live preview and the source behind it.

A blueprint drawing of interface parts: dialled gauges, dimensioned panels, and a grid of repeated tiles
Plate VII. The specimen cabinet, drawn in blueprint.

Every pattern, three ways

How each specimen is mounted.

I.Preview

The pattern running live in an isolated frame, in whichever theme you are reading in.

II.Source

Its markup, styles and behaviour, plus a single runnable file carrying its own palette.

III.Prompt

A written spec that rebuilds the pattern from scratch — including why each decision is the way it is. Paste it into Claude Code, Cursor, or any coding agent.

The prompts are the point. Each one is written to survive being handed to an agent with no other context: it names the surfaces the pattern belongs on, spells out the constraint that makes it work, and calls out the failure it exists to prevent. Nothing here is a dependency you install.

The cabinet

Forty specimens in five drawers.

Drawer
40 patterns
  • Data displayAdded Aug 11, 2026

    Windowed schedule grid

    Rows of resources against a fixed time window, where each block is sized by its overlap with the window rather than by its own duration.

    • schedule
    • timeline
    • grid
    • flexbox
  • Data displayAdded Aug 11, 2026

    Benchmark progress bar

    Places a raw figure on a scale of external benchmarks instead of printing it plain.

    • progress
    • benchmarks
    • css-only
    • data-viz
  • Data displayAdded Aug 11, 2026

    Cross-highlight matrix

    A two-axis lookup table with both headers sticky, hover lighting the full row and column at once, and a durable click-to-pin selection for touch.

    • table
    • matrix
    • sticky
    • accessibility
  • Data displayAdded Aug 11, 2026

    Left-truncating paths

    Shortens a long path by dropping whole segments from the left, because the tail is what tells two paths apart.

    • truncation
    • paths
    • text-overflow
    • breadcrumbs
  • Data displayUpdatedAdded Aug 21, 2026

    Shape-mark sequence

    A sequence compressed into a row of small marks whose shape carries the state.

    • stepper
    • sparkline
    • series
    • truncation
  • Data displayAdded Aug 21, 2026

    Linked month bars

    A month-by-month volume timeline built from plain divs where every aggregate row links to the filtered view that produced it.

    • timeline
    • drill-down
    • css-only
    • data-viz
  • Data displayAdded Aug 21, 2026

    Glass vial meter

    A vertical potion-vial meter whose liquid fills a wide bulb first and then rises into a narrow neck — all CSS, no images.

    • meter
    • skeuomorphic
    • css-only
    • reduced-motion
  • Data displayAdded Sep 12, 2026

    Partitioned stage bar

    Progress for work with several possible endings, drawn as a census rather than a fraction.

    • progress
    • stacked-bar
    • batch
    • legend
  • Data displayAdded Sep 12, 2026

    Term-by-term derivation

    A computed figure shown with the audit trail behind it — the number is the product and the derivation is the receipt.

    • explainability
    • calculator
    • disclosure
    • formula
  • Data displayUpdatedAdded Sep 12, 2026

    Plan preview tree

    A dry run shown as a before-and-after tree with counts now, after, and the difference.

    • dry-run
    • diff
    • tree
    • preview
  • Data displayAdded Sep 12, 2026

    Uniform slot shell

    One card shell many independent sources render through, where the shell does the capping.

    • dashboard
    • widgets
    • cards
    • empty-state
  • LayoutUpdatedAdded Aug 11, 2026

    Object-shaped cards

    Where a record stands for a physical thing, the card is drawn as that thing — nine variations in pure gradients.

    • cards
    • css-only
    • gradients
    • variations
  • LayoutAdded Aug 11, 2026

    Adaptive tile mosaic

    A container with no artwork draws one from up to four member tiles, grid tracks following tile count.

    • css-grid
    • css-only
    • no-assets
    • cards
  • LayoutUpdatedAdded Aug 11, 2026

    Ground-scrimmed artwork

    Text printed over unreviewed artwork, scrimmed to an alpha that can be written down rather than guessed.

    • layout
    • css-only
    • gradients
    • contrast
  • LayoutUpdatedAdded Aug 21, 2026

    Hairline stat strip

    Stat tiles joined by hairlines that are grid gap, not borders.

    • stats
    • css-grid
    • css-only
    • hairline
  • LayoutAdded Aug 21, 2026

    Annotated transcript

    Conversation bubbles with a speaker-colored spine and a fixed metadata gutter.

    • conversation
    • gutter
    • status-roles
    • contrast
  • LayoutAdded Aug 21, 2026

    Cork notice board

    Pinned paper notes on a cork board where every texture is layered CSS gradients.

    • skeuomorphic
    • gradients
    • no-assets
    • cards
  • LayoutUpdatedAdded Sep 12, 2026

    Hotspot marker layer

    Markers at percentage coordinates over a fixed-aspect picture, turning into a list when too narrow.

    • hotspots
    • pointer-events
    • aspect-ratio
    • container-query
  • LayoutAdded Sep 12, 2026

    Line-art empty states

    Inline drawings for empty surfaces stroked in the inherited text colour.

    • empty-state
    • svg
    • currentcolor
    • illustration
  • LayoutAdded Sep 12, 2026

    Column-flow wall

    Cards flowing down columns instead of across rows, with the reading-order cost stated plainly.

    • masonry
    • columns
    • break-inside
    • reading-order
  • InteractionAdded Aug 11, 2026

    Scroll edge shadows

    An inset shadow shown only on the edge that has more content behind it.

    • scrolling
    • affordance
    • lists
    • overflow
  • InteractionAdded Aug 11, 2026

    Frozen-batch deck

    A one-card-at-a-time review queue whose batch is snapshotted at mount.

    • queue
    • review-flow
    • animation
    • keyboard
  • InteractionUpdatedAdded Aug 11, 2026

    Controls beside the anchor

    Per-card controls over a fully-linked card without nesting interactive elements in the anchor.

    • cards
    • accessibility
    • keyboard
    • focus-within
  • InteractionUpdatedAdded Aug 11, 2026

    Pluggable canvas visualizer

    One canvas, a registry of draw modes, each mode owning its entire frame.

    • canvas
    • visualization
    • registry
    • animation
  • InteractionUpdatedAdded Aug 21, 2026

    Roving-grid board

    A dense grid of state cells that is one tab stop with arrow-key navigation.

    • keyboard
    • roving-tabindex
    • accessibility
    • states
  • InteractionAdded Aug 21, 2026

    Section rail

    Sticky vertical rail on wide screens, wrapping tab row on narrow ones, from the same markup.

    • navigation
    • toc
    • responsive
    • aria-current
  • InteractionAdded Aug 21, 2026

    Ledge-press buttons

    Buttons on a solid ledge shadow that travel down onto it when pressed.

    • buttons
    • skeuomorphic
    • press
    • tokens
  • InteractionUpdatedAdded Sep 12, 2026

    Guarded control

    A blocked control stays focusable, carries the reason as text, and refuses in its handler.

    • aria-disabled
    • disabled
    • preconditions
    • keyboard
  • InteractionUpdatedAdded Sep 12, 2026

    Polled job card

    One card for every state a background job passes through.

    • progress
    • polling
    • background-job
    • indeterminate
  • InteractionAdded Sep 12, 2026

    Entry-transform motion

    FLIP-style motion between two rendered states when the old DOM is already gone.

    • animation
    • transitions
    • reflow
    • reduced-motion
  • InteractionUpdatedAdded Sep 12, 2026

    Slot-first picker

    Assignment that starts at the destination slot, then narrows the catalogue.

    • assignment
    • picker
    • aria-pressed
    • filtering
  • FormsAdded Aug 28, 2026

    Undo toast

    A destructive action with no confirm dialog, held behind a toast and committed when it expires.

    • undo
    • toast
    • destructive
    • aria-live
  • FormsNewAdded Sep 28, 2026

    Blast-radius confirm

    A confirm dialog that names everything a delete cascades and blocks dismissal while it runs.

    • confirm-dialog
    • destructive
    • cascade
    • dialog-element
  • FormsUpdatedAdded Aug 28, 2026

    Batch action bar

    A bar that exists only while something is selected, states the count in words, caps at five actions.

    • selection
    • bulk-actions
    • toolbar
    • checkbox
  • FormsAdded Sep 12, 2026

    Filtered to zero

    The three empty states a list actually has, written as three different screens.

    • empty-state
    • filter
    • search
    • zero-results
  • FormsAdded Sep 12, 2026

    Parsed query chips

    A search box that echoes back how it read the text as removable chips.

    • search
    • query-syntax
    • chips
    • facets
  • FormsAdded Sep 12, 2026

    Compound-value picker

    One grouped select whose value carries both the kind and the id.

    • select
    • optgroup
    • polymorphic
    • forms
  • ColorUpdatedAdded Aug 11, 2026

    Ground-referenced color

    Colors solved against the page's own ground token so they invert correctly between themes.

    • color
    • contrast
    • color-mix
    • accessibility
  • ColorUpdatedAdded Aug 21, 2026

    Single-property color variants

    One custom property carries the hue; border, fill, spine and dot derive from it.

    • color
    • color-mix
    • custom-properties
    • theming
  • ColorUpdatedAdded Sep 12, 2026

    Controls on an unknown fill

    Opaque controls, a gradient-darkened fill, and a two-tone focus ring on a surface whose colour arrives from outside.

    • contrast
    • brand-color
    • focus-ring
    • opacity