BIRhythm

one dataset, three engineshealth

Fortune 1000 — version 1

1000 rows · 18 columns · stored in ds_fortune_1000_v1. All three panels render this same version, from this same table.

Charts

TitleTypeXY
Top 40 companies by revenuebarcompanyrevenue
Revenue vs profitscatterrevenueprofit
Employees by sectorbarsectoremployees
Market cap across the top 100 rankslinerankmarket_cap
Revenue and profit, stacked by sectorarearankrevenue, profit
The rows themselvestable
Rebuilds run on the server; this page updates itself.

Metabase

ready

Click-built BI dashboard, served live from a Metabase server and embedded here.

Build log — built 2026-09-18 04:23 UTC
database connection "birhythm" is id 1 (jonah/localhost:5432)
card 1 = "Fortune 1000 v1 · Top 40 companies by revenue"
card 2 = "Fortune 1000 v1 · Revenue vs profit"
card 3 = "Fortune 1000 v1 · Employees by sector"
card 4 = "Fortune 1000 v1 · Market cap across the top 100 ranks"
card 5 = "Fortune 1000 v1 · Revenue and profit, stacked by sector"
card 6 = "Fortune 1000 v1 · The rows themselves"
public link https://metabase.systivate.com/public/dashboard/432c750d-b03b-4e21-a6dd-6324e0a0f9e1
build finished in 4.0s

Evidence.dev

ready

SQL + Markdown report site, precomputed to static HTML at build time.

Build log — built 2026-09-18 06:09 UTC
$ npm run build

> build
> evidence sources && evidence build:strict

-----
  [Processing] birhythm
-----
[INFO]:    Evaluated sources, saving manifest
[INFO]:    ✅ Done!
[INFO]:  Enabling strict mode

Run npm run preview to preview your production build locally.

> Using @sveltejs/adapter-static
  Wrote site to "./build"
  ✔ done
Build complete --> ./build 
- Loading plugins & sources
✔ Loading plugins & sources
- Processing...
  ds_fortune_1000_v1 ✔ Finished, wrote 1000 rows.

published /d3/code/BIRhythm/templates/evidence/build -> /d3/services/birhythm/sites/evidence/ed297c3b-a71f-411d-9e79-aeecaff2065b
build finished in 61.9s

Observable Framework

ready

D3-grade static data app; data loaders freeze the query result at build time.

Build log — built 2026-09-18 04:23 UTC
$ npm run build

> build
> observable build

load /index in 1619ms
built 1 page in src
bundle /_observablehq/client.js → src/.observablehq/cache/_observablehq/client.js
bundle /_observablehq/runtime.js → src/.observablehq/cache/_observablehq/runtime.js
bundle /_observablehq/stdlib.js → src/.observablehq/cache/_observablehq/stdlib.js
bundle /_observablehq/stdlib/inputs.js → src/.observablehq/cache/_observablehq/stdlib/inputs.js
build /_observablehq/theme-air,near-midnight.css → dist/_observablehq/theme-air,near-midnight.b050d634.css
build /_observablehq/stdlib/inputs.css → dist/_observablehq/stdlib/inputs.f7bf0e12.css
copy src/data/chart-0.json → load /data/chart-0.json → [missing] success 1.75 kB in 201ms
dist/_file/data/chart-0.04edc2de.json
copy src/data/chart-1.json → load /data/chart-1.json → [missing] success 32.9 kB in 220ms
dist/_file/data/chart-1.b2d5aea1.json
copy src/data/chart-2.json → load /data/chart-2.json → [missing] success 1.05 kB in 173ms
dist/_file/data/chart-2.9fd03248.json
copy src/data/chart-3.json → load /data/chart-3.json → [missing] success 3.32 kB in 103ms
dist/_file/data/chart-3.5cde09ff.json
copy src/data/chart-4.json → load /data/chart-4.json → [missing] success 9.11 kB in 106ms
dist/_file/data/chart-4.5402665b.json
copy src/data/chart-5.json → load /data/chart-5.json → [missing] success 23 kB in 127ms
dist/_file/data/chart-5.221ae6db.json
alias /_observablehq/client.js → /_observablehq/client.3f880044.js
alias /_observablehq/runtime.js → /_observablehq/runtime.fa9f71c0.js
alias /_observablehq/stdlib.js → /_observablehq/stdlib.81cd90e3.js
alias /_npm/@observablehq/plot@0.6.17/_esm.js → /_npm/@observablehq/plot@0.6.17/93ce672e.js
alias /_observablehq/stdlib/inputs.js → /_observablehq/stdlib/inputs.8ddbf299.js
alias /_npm/htl@1.0.0/_esm.js → /_npm/htl@1.0.0/11521f02.js
alias /_npm/isoformat@0.2.1/_esm.js → /_npm/isoformat@0.2.1/604cb63b.js
alias /_npm/d3@7.9.0/_esm.js → /_npm/d3@7.9.0/080cf928.js
alias /_npm/interval-tree-1d@1.0.4/_esm.js → /_npm/interval-tree-1d@1.0.4/f53f17b2.js
alias /_npm/d3-array@3.2.4/_esm.js → /_npm/d3-array@3.2.4/b8e751b6.js
alias /_npm/d3-axis@3.0.0/_esm.js → /_npm/d3-axis@3.0.0/c662ea05.js
alias /_npm/d3-brush@3.0.0/_esm.js → /_npm/d3-brush@3.0.0/d162d8c6.js
alias /_npm/d3-chord@3.0.1/_esm.js → /_npm/d3-chord@3.0.1/5cedd0be.js
alias /_npm/d3-color@3.1.0/_esm.js → /_npm/d3-color@3.1.0/65d51007.js
alias /_npm/d3-contour@4.0.2/_esm.js → /_npm/d3-contour@4.0.2/c576a91a.js
alias /_npm/d3-delaunay@6.0.4/_esm.js → /_npm/d3-delaunay@6.0.4/8b43826d.js
alias /_npm/d3-dispatch@3.0.1/_esm.js → /_npm/d3-dispatch@3.0.1/3fb06f14.js
alias /_npm/d3-drag@3.0.0/_esm.js → /_npm/d3-drag@3.0.0/20b76948.js
alias /_npm/d3-dsv@3.0.1/_esm.js → /_npm/d3-dsv@3.0.1/097745a2.js
alias /_npm/d3-ease@3.0.1/_esm.js → /_npm/d3-ease@3.0.1/8683b012.js
alias /_npm/d3-fetch@3.0.1/_esm.js → /_npm/d3-fetch@3.0.1/5c319046.js
alias /_npm/d3-force@3.0.0/_esm.js → /_npm/d3-force@3.0.0/33924f3e.js
alias /_npm/d3-format@3.1.2/_esm.js → /_npm/d3-format@3.1.2/8d67a1ae.js
alias /_npm/d3-geo@3.1.1/_esm.js → /_npm/d3-geo@3.1.1/8037bd0b.js
alias /_npm/d3-hierarchy@3.1.2/_esm.js → /_npm/d3-hierarchy@3.1.2/a9ba0229.js
alias /_npm/d3-interpolate@3.0.1/_esm.js → /_npm/d3-interpolate@3.0.1/e0a47f97.js
alias /_npm/d3-path@3.1.0/_esm.js → /_npm/d3-path@3.1.0/f9e9e0ab.js
alias /_npm/d3-polygon@3.0.1/_esm.js → /_npm/d3-polygon@3.0.1/2da8eb3b.js
alias /_npm/d3-quadtree@3.0.1/_esm.js → /_npm/d3-quadtree@3.0.1/09002e01.js
alias /_npm/d3-random@3.0.1/_esm.js → /_npm/d3-random@3.0.1/5108797c.js
alias /_npm/d3-scale@4.0.2/_esm.js → /_npm/d3-scale@4.0.2/c9f2571b.js
alias /_npm/d3-scale-chromatic@3.1.0/_esm.js → /_npm/d3-scale-chromatic@3.1.0/f3c78e0d.js
alias /_npm/d3-selection@3.0.0/_esm.js → /_npm/d3-selection@3.0.0/28717d05.js
alias /_npm/d3-shape@3.2.0/_esm.js → /_npm/d3-shape@3.2.0/7c6e2a50.js
alias /_npm/d3-time@3.1.0/_esm.js → /_npm/d3-time@3.1.0/3d1d57c6.js
alias /_npm/d3-time-format@4.1.0/_esm.js → /_npm/d3-time-format@4.1.0/643581a8.js
alias /_npm/d3-timer@3.0.1/_esm.js → /_npm/d3-timer@3.0.1/e99232db.js
alias /_npm/d3-transition@3.0.1/_esm.js → /_npm/d3-transition@3.0.1/bd07fd9a.js
alias /_npm/d3-zoom@3.0.0/_esm.js → /_npm/d3-zoom@3.0.0/d09f7cc9.js
alias /_npm/binary-search-bounds@2.0.5/_esm.js → /_npm/binary-search-bounds@2.0.5/5f640032.js
alias /_npm/internmap@2.0.3/_esm.js → /_npm/internmap@2.0.3/af036d7e.js
alias /_npm/delaunator@5.1.0/_esm.js → /_npm/delaunator@5.1.0/7b06abe7.js
alias /_npm/robust-predicates@3.0.3/_esm.js → /_npm/robust-predicates@3.0.3/b42f30a7.js
build /_observablehq/client.js → dist/_observablehq/client.3f880044.js
build /_observablehq/runtime.js → dist/_observablehq/runtime.fa9f71c0.js
build /_observablehq/stdlib.js → dist/_observablehq/stdlib.81cd90e3.js
build /_npm/@observablehq/plot@0.6.17/_esm.js → dist/_npm/@observablehq/plot@0.6.17/93ce672e.js
build /_observablehq/stdlib/inputs.js → dist/_observablehq/stdlib/inputs.8ddbf299.js
build /_npm/htl@1.0.0/_esm.js → dist/_npm/htl@1.0.0/11521f02.js
build /_npm/isoformat@0.2.1/_esm.js → dist/_npm/isoformat@0.2.1/604cb63b.js
build /_npm/d3@7.9.0/_esm.js → dist/_npm/d3@7.9.0/080cf928.js
build /_npm/interval-tree-1d@1.0.4/_esm.js → dist/_npm/interval-tree-1d@1.0.4/f53f17b2.js
build /_npm/d3-array@3.2.4/_esm.js → dist/_npm/d3-array@3.2.4/b8e751b6.js
build /_npm/d3-axis@3.0.0/_esm.js → dist/_npm/d3-axis@3.0.0/c662ea05.js
build /_npm/d3-brush@3.0.0/_esm.js → dist/_npm/d3-brush@3.0.0/d162d8c6.js
build /_npm/d3-chord@3.0.1/_esm.js → dist/_npm/d3-chord@3.0.1/5cedd0be.js
build /_npm/d3-color@3.1.0/_esm.js → dist/_npm/d3-color@3.1.0/65d51007.js
build /_npm/d3-contour@4.0.2/_esm.js → dist/_npm/d3-contour@4.0.2/c576a91a.js
build /_npm/d3-delaunay@6.0.4/_esm.js → dist/_npm/d3-delaunay@6.0.4/8b43826d.js
build /_npm/d3-dispatch@3.0.1/_esm.js → dist/_npm/d3-dispatch@3.0.1/3fb06f14.js
build /_npm/d3-drag@3.0.0/_esm.js → dist/_npm/d3-drag@3.0.0/20b76948.js
build /_npm/d3-dsv@3.0.1/_esm.js → dist/_npm/d3-dsv@3.0.1/097745a2.js
build /_npm/d3-ease@3.0.1/_esm.js → dist/_npm/d3-ease@3.0.1/8683b012.js
build /_npm/d3-fetch@3.0.1/_esm.js → dist/_npm/d3-fetch@3.0.1/5c319046.js
build /_npm/d3-force@3.0.0/_esm.js → dist/_npm/d3-force@3.0.0/33924f3e.js
build /_npm/d3-format@3.1.2/_esm.js → dist/_npm/d3-format@3.1.2/8d67a1ae.js
build /_npm/d3-geo@3.1.1/_esm.js → dist/_npm/d3-geo@3.1.1/8037bd0b.js
build /_npm/d3-hierarchy@3.1.2/_esm.js → dist/_npm/d3-hierarchy@3.1.2/a9ba0229.js
build /_npm/d3-interpolate@3.0.1/_esm.js → dist/_npm/d3-interpolate@3.0.1/e0a47f97.js
build /_npm/d3-path@3.1.0/_esm.js → dist/_npm/d3-path@3.1.0/f9e9e0ab.js
build /_npm/d3-polygon@3.0.1/_esm.js → dist/_npm/d3-polygon@3.0.1/2da8eb3b.js
build /_npm/d3-quadtree@3.0.1/_esm.js → dist/_npm/d3-quadtree@3.0.1/09002e01.js
build /_npm/d3-random@3.0.1/_esm.js → dist/_npm/d3-random@3.0.1/5108797c.js
build /_npm/d3-scale@4.0.2/_esm.js → dist/_npm/d3-scale@4.0.2/c9f2571b.js
build /_npm/d3-scale-chromatic@3.1.0/_esm.js → dist/_npm/d3-scale-chromatic@3.1.0/f3c78e0d.js
build /_npm/d3-selection@3.0.0/_esm.js → dist/_npm/d3-selection@3.0.0/28717d05.js
build /_npm/d3-shape@3.2.0/_esm.js → dist/_npm/d3-shape@3.2.0/7c6e2a50.js
build /_npm/d3-time@3.1.0/_esm.js → dist/_npm/d3-time@3.1.0/3d1d57c6.js
build /_npm/d3-time-format@4.1.0/_esm.js → dist/_npm/d3-time-format@4.1.0/643581a8.js
build /_npm/d3-timer@3.0.1/_esm.js → dist/_npm/d3-timer@3.0.1/e99232db.js
build /_npm/d3-transition@3.0.1/_esm.js → dist/_npm/d3-transition@3.0.1/bd07fd9a.js
build /_npm/d3-zoom@3.0.0/_esm.js → dist/_npm/d3-zoom@3.0.0/d09f7cc9.js
build /_npm/binary-search-bounds@2.0.5/_esm.js → dist/_npm/binary-search-bounds@2.0.5/5f640032.js
build /_npm/internmap@2.0.3/_esm.js → dist/_npm/internmap@2.0.3/af036d7e.js
build /_npm/delaunator@5.1.0/_esm.js → dist/_npm/delaunator@5.1.0/7b06abe7.js
build /_npm/robust-predicates@3.0.3/_esm.js → dist/_npm/robust-predicates@3.0.3/b42f30a7.js
render /index → dist/index.html

┌ (1 page)          Page      Imports        Files
└── index          12 kB       612 kB       101 kB


published /d3/code/BIRhythm/templates/observable/dist -> /d3/services/birhythm/sites/observable/ed297c3b-a71f-411d-9e79-aeecaff2065b
build finished in 11.3s