Skip to content

bobbydilan/industree

Repository files navigation

Industree (Recursive Data)

Wikipedia's structure + Bloomberg's subject matter, navigated like a map.

A zoomable atlas of the world's companies. The whole site is one recursive tree: the root is "The World" — the aggregate of every listed company on Earth — and every click drills one level deeper through the GICS classification (World → Sector → Industry Group → Industry → Sub-Industry → Company). Every page is the same template rendered at a different node: a zoomable treemap for navigation, a metric switcher (market cap / revenue / net income / margins), a geography filter, twenty years of baked yearly history, and company Compare.

Everything runs client-side from pre-baked data files — no backend, no build step.

Quick start

Mac — double-click Start Industree.command. Windows — double-click Start Industree (Windows).bat. Any computer — from the prototype/ folder run:

python3 -m http.server 8742

then open http://localhost:8742. The only requirement is Python 3 (for the tiny local server — browsers block network requests from pages opened as file://, so the server exists purely to lift that restriction). See HOW TO OPEN.txt for details.

Live data & API keys (optional)

The site is fully usable offline from the baked snapshot data. Live prices, news and data refreshes need free API keys:

  1. Copy prototype/keys.example.js to prototype/keys.js and fill in your keys (used by the site for live quotes/news).
  2. Copy prototype/scripts/.env.example to prototype/scripts/.env (used by refresh.py).

Both real-key files are gitignored and never leave your machine.

Refreshing the baked data

python3 prototype/scripts/refresh.py             # exact live market caps
python3 prototype/scripts/refresh.py --universe  # every listed company > $500M
python3 prototype/scripts/refresh.py --history   # yearly history for non-US companies

Repository layout

Path What it is
prototype/index.html The single page — everything renders here
prototype/app.js All application logic (treemap, routing, metric switcher, Compare)
prototype/data.js, world.js, europe.js, universe.js Baked universe & aggregates
prototype/companies.js, profiles.js Company constituents and written profiles
prototype/history_us.js, history_world.js Yearly fundamentals history (back to 2006)
prototype/bake_us.js, enrich.js Data-baking helpers
prototype/scripts/refresh.py Data refresh pipeline (needs .env)
NOTES.md Development log / changelog
PROMPT.md The original project brief

About

A zoomable atlas of the world's companies — Wikipedia's structure + Bloomberg's subject matter, navigated like a treemap. GICS tree from World to single company, 20 years of fundamentals, no backend.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors