forever components

Neo-Brutalism

Data Grid

A neo-brutalist 5-row data grid showing node load % and status; cells flash cyan, lime, or red every 800ms to reflect ERR/WARN/OK states.

cssmedium complexitymoderate motion

Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited

Live demo — the real component, running in a sandbox. One self-contained HTML file, zero dependencies. Open it on the canvas →
Worth keeping? Votes steer what gets built next — sign in to cast one, free to read

When to use it

Server dashboards, system monitors, or any data-heavy brutalist UI needing live-updating tabular status indicators.

When not to

Light or minimal design systems — the hard black borders and flat neon flashes are intentionally jarring. Not suitable for accessibility-critical contexts without ARIA roles.

Working with an AI agent

Every component ships agent-ready metadata. An example instruction for this one:

Change update interval from 800ms to 400ms, add a fourth column 'TEMP' with random values between 30–95°C, and flash cells orange (#ff8c00) when TEMP exceeds 80. Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.

Safe to edit

  • update interval (setInterval 800)
  • node labels (nodes array)
  • status options (statuses array)
  • flash colors (bru-flash-cyan/lime/red)
  • column count (grid-template-columns)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • visibilitychange stop/play guard
  • prefers-reduced-motion check (reduce var)
  • IIFE wrapper
  • 300ms flash-clear setTimeout
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Status values are random — no real data source; wire to an API for production use
  • No ARIA roles on cells — not screen-reader friendly
  • Flash clear at 300ms can race with the next 800ms tick if interval is shortened

brutalismdata-tabledashboardstatusflashmonospacelive-data

More Neo-Brutalism components

  • Newspaper TickerTwo rows of bold uppercase headlines scroll in opposite directions with red accent highlights — pure CSS marquee in neo-brutalist black-and-cream style.
  • Error ManifestoA neo-brutalist error card with hard shadow and border cycles its text color between white, red, and yellow in stepped CSS keyframe flashes.
  • Receipt CardA neo-brutalist receipt card with lime-green monospace text on black; line items fade in one-by-one with a staggered delay, revealing a running total.
  • Warning TapeTwo scrolling yellow-black hazard stripe bands frame a bold "UNDER CONSTRUCTION" label that gently pulses. Pure CSS, zero JS logic.