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