Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firebolt Demo Pool

Realtime Firebolt Core demo kit with profile-switched datasets and UI narratives.

The same local stack can demo five industries at massive synthetic scale:

  • cyber
  • finops
  • healthcare
  • ecommerce
  • ad-tech

Each profile keeps the same performance story:

  • high-throughput realtime ingest
  • continuously increasing total ingested rows + bytes
  • sub-second (and often sub-100ms) read probes
  • live SQL exploration with runtime telemetry

Zero-Technical Setup (Copy/Paste)

No coding is required. If you can open a terminal and copy commands, you can run this demo.

git clone https://github.com/firebolt-db/Demo-Pool.git
cd Demo-Pool
DEMO_PROFILE=cyber ./scripts/quickstart.sh

Then open:

  • http://localhost:55173 (welcome page)
  • http://localhost:55173/dashboard (dashboard)
  • http://localhost:55173/explorer (sql explorer)

When done:

./scripts/live-stop.sh

Disk Usage Warning (Important)

This demo can consume significant local disk space if left running for hours/days because live batches and generated datasets keep growing.

Always stop the stack after use:

./scripts/live-stop.sh

If you need to reclaim space, remove demo data and runtime artifacts:

./scripts/cleanup-demo-data.sh

Optional: quickly inspect what is taking space:

du -sh data/live data/generated runtime firebolt-core-data 2>/dev/null

Exact Demo Use Case

Run a single local Firebolt stack and switch personas with DEMO_PROFILE to show how the same engine powers very different operational workloads:

  • cyber posture correlation (cyber)
  • cloud spend and utilization anomaly analytics (finops)
  • clinical operations + compliance telemetry (healthcare)
  • checkout/payment/fulfillment intelligence (ecommerce)
  • rtb + fraud + spend control analytics (ad-tech)

1-Minute Start

git clone https://github.com/firebolt-db/Demo-Pool.git
cd Demo-Pool
DEMO_PROFILE=cyber ./scripts/quickstart.sh

Open:

  • UI welcome: http://localhost:55173
  • Dashboard: http://localhost:55173/dashboard
  • API: http://localhost:38080
  • Query Explorer: http://localhost:55173/explorer

Stop:

./scripts/live-stop.sh

Profile Switching

From the welcome page, selecting an industry now triggers a background profile switch automatically (no terminal command needed for demo operators). The switch also resets live ingestion state and the live table, so dashboard/query data always matches the selected industry profile.

If needed, you can still switch from terminal:

./scripts/live-stop.sh
DEMO_PROFILE=finops ./scripts/quickstart.sh
DEMO_PROFILE=healthcare ./scripts/quickstart.sh
DEMO_PROFILE=ecommerce ./scripts/quickstart.sh
DEMO_PROFILE=ad-tech ./scripts/quickstart.sh

Quick profile guide:

  • cyber → cloud security posture + findings
  • finops → cloud cost and utilization anomalies
  • healthcare → clinical and compliance operations telemetry
  • ecommerce → checkout/payment/inventory/fulfillment events
  • ad-tech → rtb, spend, fraud, and audience signals

Scale Profiles

Dataset size is independent of persona:

  • dev: 10M events
  • demo: 150M events
  • stress: 1B events

Example:

DEMO_PROFILE=ad-tech BASELINE_PROFILE=stress ./scripts/quickstart.sh

UI and Explorer Screenshots

Dashboard samples:

Cyber Dashboard Ad-tech Dashboard

Query Explorer samples:

Cyber Explorer Ad-tech Explorer

What You Can Show Live

  • ingest throughput (ingest throughput (10s|1m|avg))
  • total ingested size (total ingested size)
  • read speed (read probe latency, read status)
  • profile-aware KPI cards, trend views, top entities, event feed
  • profile-aware Query Explorer presets + editable SQL + Firebolt runtime metadata

If Something Looks Off

  • stack does not come up:
    • run ./scripts/live-stop.sh
    • then run DEMO_PROFILE=cyber ./scripts/quickstart.sh
  • dashboard opens but numbers are zero:
    • wait ~10-20 seconds and click refresh now
    • verify with ./scripts/live-status.sh that inserted_events is increasing
  • ports are already in use:
    • run API_PORT=39090 UI_PORT=55222 DEMO_PROFILE=cyber ./scripts/quickstart.sh

Key Commands

  • prereq check:
    ./scripts/check-prereqs.sh
  • full live stack:
    DEMO_PROFILE=cyber ./scripts/live-start.sh
  • status:
    ./scripts/live-status.sh
  • stop:
    ./scripts/live-stop.sh
  • cleanup data:
    ./scripts/cleanup-demo-data.sh
  • benchmarks:
    ./scripts/benchmark.sh

Make Targets

make help
make quickstart DEMO_PROFILE=finops
make status
make down
make benchmark

Useful Overrides

API_PORT=39090 UI_PORT=55222 DEMO_PROFILE=ecommerce ./scripts/quickstart.sh
DEMO_PROFILE=ad-tech BATCH_EVENTS=20000 INTERVAL_SECONDS=1 ./scripts/live-start.sh
DEMO_PROFILE=healthcare BASELINE_PROFILE=demo ./scripts/quickstart.sh

Documentation

License

This repository is licensed under the MIT License. See LICENSE.

Public Playground Policy

This repository is intentionally published as a demo playground, not a production product:

  • no SLA, no uptime guarantees, no security hardening commitments
  • synthetic data only; do not point this demo at real regulated production data
  • behavior, APIs, scripts, and UI copy may change between commits without migration guarantees
  • contribution workflow is not open for external PRs at this time

Use this repository for demos, experiments, and local evaluation only. For constraints and non-goals, see Limitations.

Project Layout

  • scripts/: startup, ingestion, benchmark, quickstart utilities
  • data/generator/: profile-aware batch and realtime generators
  • sql/: Firebolt schema + query templates
  • api/: Express + TypeScript API
  • ui/: React + Vite dashboard

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages