← /playground
8 May, 2026

Liveline

Real-time animated line charts for React. One <canvas>, zero CSS imports, smooth interpolation between updates.

This is a tribute / re-skin of benji.org/liveline. Same library, same demos, our own typography sandbox — built to study how a single column of muted text plus a few embedded charts feels so much more alive than yet another marketing landing page.

The library is liveline by @benjitaylor. It does one thing — draws a line that moves smoothly when a number changes — and everything else (momentum, candles, orderbook, multi-series, degen particles) is opt-in.

Pass a growing array of { time, value } points and the latest value. Liveline interpolates between updates so even sparse data renders smooth at 60fps.

import { Liveline } from 'liveline'

function Chart({ data, value }) {
  return (
    <div style={{ height: 200 }}>
      <Liveline data={data} value={value} />
    </div>
  )
}
Calm signal · custom formatter. A gentle sinusoid plus jitter. exaggerate tightens the Y-axis so small moves fill the chart.<Liveline exaggerate />

A random walk with the occasional spike — the kind of trace you stare at on a flaky service. The reference line at 80% is just a number; Liveline draws the dashed guide and label.

Light theme. Auto-detected momentum, fill gradient, badge tail tracking the chart tip.referenceLine

Pass series instead of data to draw multiple overlapping lines that share one axis. Toggle chips appear when there are 2+ series — clicking hides that line with a smooth fade and the Y-axis re-fits.

Prediction market. Three outcomes summing to 100%. Click a chip to toggle a series.series[]

The classic breaking points: high-frequency ticks, sharp reversals, isolated spikes on a flat line, full chaos. Crank it up and watch the line keep its composure.

~60ms ticks. showValue renders a 60fps live value overlay (DOM mutation, no React re-renders). degen fires particles on big swings.stress

Liveline can do a lot — momentum arrows, particles, orderbooks, scrubbing, time windows, candles. But at the end of the day, if you just want a line that moves when a number changes, it does that just fine too.

Source · github.com/benjitaylor/liveline·Original page · benji.org/liveline