FLARE Public Demo — Design Spec

Date: 2026-05-23 Author: Chris Dillon (via Claude) Status: Approved for implementation planning Lives at: /flare/ on christopherdillon.me

Purpose

A fully interactive, anonymised public showcase of FLARE — the internal BI platform Chris built at Nexus Brands Group. Visitors should leave understanding the breadth and polish of the platform without seeing any real Nexus data, copy, or business identity.

Linked from the main page Experience bullet and the Consultancy page so prospective clients and recruiters can see, not just read about, the work.

Non-goals

Fictional context

All numbers, SKUs, customer counts, and warehouse layouts are invented and deterministic (same seed, same numbers every visit).

Visual identity

Mirrors the canonical FLARE design tokens from GIT_PROJECTS/DASHBOARDS/dashboard_theme/tokens.py. Core palette:

Token Hex Use
VOID #061C2A Page edges only
BG #0A2535 Primary background
SURFACE #133142 Cards, panels, sidebar
SURFACE_ALT #1C3D50 Elevated / hover
RULE rgba(232,236,242,0.08) Default hairline
INSTRUMENT #E8ECF2 Headings, KPI values
READ #B8C0D0 Body
MUTE #8792A6 Captions, tab labels
DIM #5B657A Meta, timestamps
ACCENT (International Orange) #FF4F00 Links, active states, ≤8% of any surface
POSITIVE / WARNING / CRITICAL #16a34a / #eab308 / #d4001a Traffic-light KPI status

Font: IBM Plex Sans (body) and IBM Plex Mono (metrics, meta) — matches the rest of the site and is the FLARE Streamlit font.

The existing flare-mark SVG from the main site is reused as the FLARE wordmark glyph.

Pages and structure

/flare/
  index.html              — public landing
  login/index.html        — fake Entra SSO sign-in mockup
  app/index.html          — single-page dashboard shell (hash-routed)
  flare.css               — shared styles using tokens above
  flare-data.js           — deterministic fake-data generator (seeded RNG)
  flare-charts.js         — Chart.js theming + chart factory wrappers
  flare-app.js            — shell behaviour: nav, business switcher, hash routing
  dashboards/
    exec.js
    sku.js
    stats.js
    warehouse.js
    bundle.js

/flare/ — public landing

/flare/login/ — fake Entra sign-in

/flare/app/ — dashboard shell

Single HTML page; hash routing for dashboards:

Top bar:

Left sidebar:

Main content area:

Dashboards

1. Executive overview (#/exec)

2. Per-SKU analysis (#/sku)

3. Statistical analysis (#/stats)

4. Warehouse heatmap (#/warehouse)

5. Bundle & basket intelligence (#/bundle)

Technical approach

Interactivity inventory (the “fully interactive” promise)

Control Behaviour
Business switcher Re-renders all charts on the active dashboard
Sidebar nav Switches dashboards via hash
SKU table sort Click column header, toggles asc/desc
SKU text/category filter Filters table rows live
SKU row click Opens drill-down panel
Stats promo dropdown Re-renders comparison + per-category bars
Warehouse bin hover Tooltip with utilisation
Warehouse bin click Opens panel of SKUs in that bin
Bundle cell click Updates top-10 co-purchased list

Risks and mitigations

Out of scope (explicit)

Implementation order (rough sketch — full plan to follow)

  1. Scaffold /flare/ directory, shared CSS with tokens, landing page
  2. Login page (static mockup, simplest)
  3. App shell with top bar, sidebar, hash routing, business switcher event plumbing
  4. flare-data.js and flare-charts.js foundations
  5. Exec overview dashboard (proves the data + chart pipeline)
  6. Per-SKU dashboard (proves table + drill-down pattern)
  7. Statistical, warehouse heatmap, bundle dashboards (in any order)
  8. Polish pass: micro-copy, empty states, motion (subtle), favicon
  9. Link from main index Experience bullet and consultancy page (already drafted)

A separate implementation plan will break each of these into testable steps.