Practical Data Free & open source

Tables you can read
at a glance.

Conditional formatting for every table on the web, with the direction figured out for you. A Chrome extension that shades the comparable columns of any HTML table, so the better and worse rows show without reading every cell.

How it works

  1. Read

    Code extracts each table, resolves merged cells, and parses values: $0.025, .312, 6' 6", 1.5B, 20–25, 2:59, ≤ 272K. A 2:41 game length is a duration; a 7:05 start time is not. It computes the ranges and spreads, and describes them in words.

  2. Judge

    A System One model (Jev) answers narrow, typed questions with probabilities:

    • Is this column an amount, an identifier, a time, a rank, or a cutoff?
    • Is a higher value better, worse, or neither?
    • Do ratios matter more than differences (log scale)?
    • Are these labels ordered grades? Which of two is the lower grade?
    • Is this row a total? Do same-named columns in other tables share a scale?
    • Are values compared down each column, or across each row?
  3. Paint

    D3 maps each value onto a ColorBrewer scale and blends it over the page's own background. Every cell keeps WCAG AA text contrast, and the extension restores the page exactly when you turn it off.

165 / 165
hand-labeled columns shaded or left plain correctly, across 21 test pages (a regression check, not an accuracy estimate)
81 / 81
directions of "better" judged correctly
~$0.001
typical cost to judge a page; repeat visits are free

Open source, top to bottom.

Practical Data is MIT-licensed. The extension, the questions it asks the model, the test pages and the recorded answers are all on GitHub.

$ git clone https://github.com/philrenaud/practical-data
$ cd practical-data && npm install
$ npx playwright install chromium
$ npm run check

Install

  1. Download the extension and unzip it.
  2. Open chrome://extensions and turn on Developer mode.
  3. Select Load unpacked and choose the unzipped folder.
  4. On the options page, paste a TypeSafe API key and select Test. A typical page costs about a tenth of a cent; unchanged tables aren't judged twice.

The Chrome Web Store listing is coming soon. Until then, the extension loads unpacked.

Tables are judged as they scroll into view, up to 200 per page. Table text (headers, sample values, a few rows) is sent to the provider you choose to be judged; nothing is sent for sites you turn off. Your key stays in the extension's storage. The toolbar popup turns a page or a whole site off, and ⌥⇧H toggles the current page.