ATLAS data intelligence
Concept build Portfolio ↗

Portfolio concept · analytics & SaaS · September 2026

Every number on
this page is computed
in front of you.

ATLAS is an invented product used to demonstrate front-end data work: a dense analytics console with linked charts, working filters, drilldown and export. There is no company, no customer and no API behind it - a seeded generator builds the dataset in your browser each time the page loads, and every figure on screen is aggregated from those rows.

Rows generated
-
Shape
-
Generated in
-
Column store
-
Seed
-

Console

Revenue, ingest and reliability across ten regions and five product modules.

Synthetic data · seed -

Quick range
Selection
Regions
Product modules

Building the dataset…

Trend

-

Drag across the chart to zoom into a range. With the chart focused, use ← → to inspect points, Home/End to jump, and Esc to clear.

By product module

-

Select a bar to filter the whole console to that module.

By region

-

Schematic tile map. Equal-size tiles are arranged in roughly the right relative positions - this is a layout diagram, not a projection, and the shapes carry no geographic meaning. Tiles are keyboard operable; the region chips above do the same job.

Region × module matrix

-

Skip the matrix
Every cell shows its own value; colour is an extra channel, not the only one. Select a cell to drill into that segment. Arrow keys move between cells.

-

Segments

The same selection, grouped and sortable. Export what you see.

-
Trend

Drilldown

Select any row above - or any matrix cell - to break that segment down.

Export the current selection

-

Preview the summary CSV

      

Each chart already exposes a data table to assistive technology; this makes those tables visible for everyone.

How this works

No network calls, no build step, no libraries. One seeded pseudo-random generator produces the dataset, a columnar store holds it, and one pass over that store computes everything you see.

  1. 01

    Seed

    A fixed 32-bit seed drives a mulberry32 generator. Same seed, same dataset, every load, in every browser.

  2. 02

    Generate

    540 days × 10 regions × 5 modules. Growth trend, weekday seasonality, an annual cycle, a mid-history module launch and occasional incident days.

  3. 03

    Store

    Columns, not rows: typed arrays per field. Day-major order, which lets the aggregator count distinct days without a set.

  4. 04

    Aggregate

    One pass applies the range, region and module filters and fills every bucket at once: totals, time buckets, regions, modules, cells and groups.

  5. 05

    Derive

    Sums for additive metrics; query-weighted means for latency; errors ÷ queries for error rate; daily means for active accounts.

  6. 06

    Paint

    Scales are computed from the final data, then paths, bars and tiles animate into place with one shared tweener - skipped entirely under reduced motion.

Linked, not decorative

Every chart reads the same selection and writes back to it. A bar filters a module, a tile filters a region, a drag on the trend line sets the date range, a matrix cell regroups the table and opens the drilldown. Nothing is a picture of data - everything is the data.

Accessible by construction

The matrix is a real table with visible numbers. The trend, module and region charts each publish a data table that assistive technology reads through aria-describedby; the toggle above makes them visible for everyone. The trend line is keyboard-inspectable point by point.

Honest arithmetic

Comparisons use the equal-length window immediately before the selection, and say so when the history runs out. Latency aggregates as a query-weighted mean of per-segment p95 values - an approximation of a true percentile, not a substitute for one. Active accounts are counted per module.

Honest notes