Curiosity index

The Om Universe.

I exported my entire YouTube watch history from Google Takeout — 13,655 videos — and sorted every title into topics with a rule-based classifier. The result is a fairly honest map of what my brain gravitates to: CFA prep and gaming neck-and-neck at the top, then music, movies, gadgets, comedy, and Formula 1. Drag the planets. Hover for counts.

13,655 videos — classified (—) — topics · — themes — ads + deleted — unclassified
live simulation drag planets · drag space to pan
By theme

Where the gravity is.

All topics

The full ledger.

“Other” is the honest bucket: titles with no useful keywords and one-off rabbit holes. “Noise” is ads YouTube served me and videos that have since been deleted or made private (Takeout only leaves a URL for those).

TopicThemeShareVideos%
Method

How the map is built.

01 · EXPORT

Google Takeout

Takeout → YouTube and YouTube Music → history → watch-history.html. My own account, my own machine.

02 · EXTRACT

Titles only

A small Node script pulls the title of every “Watched …” entry. Video IDs, channels, and timestamps are dropped on the spot.

03 · CLASSIFY

Ordered rules

A Python classifier runs ~50 regex rules in priority order (finance before tech before entertainment); the first match wins. Topics roll up into themes.

04 · RENDER

Canvas physics

Repulsion + springs + gravity in ~150 lines of vanilla JS. No libraries. Node size ∝ √(count).

Where the data comes from

Provenance.

Every number on this page traces back to one file I exported myself. Nothing is scraped, estimated, or pulled from an API — and nothing personal leaves the pipeline except counts.

Honesty note

The first version of this map (Feb 2026) reported 1,433 “AI / ML” videos. That was a bug: the rule matched the letters ai inside words like Captain and Britain. The re-classifier uses whole-word rules; the real AI/ML count is around 170. Gaming, on the other hand, turned out to be the single biggest bucket — which the old map missed entirely.

SOURCE Google Account → Takeout → “YouTube and YouTube Music” └── history/watch-history.html # exported Feb 2026, Om's PC · Downloads PIPELINE (this repo) scripts/parse-watch-history.js # HTML → titles (13,655 · newest 20 skipped) watch-history-titles.json # raw titles · kept in the private repo, never served scripts/reclassify-watch-history.py # titles → 46 topics · 8 themes · counts only PUBLISHED (this site) om-portfolio-frontend/data/watch-history-bubble-data.json ├── topics[] name · count · theme ├── links[] same-theme pairs └── meta totals · method · exported 2026-02 · classified — NOT PUBLISHED video titles · video IDs · channel names · timestamps · anything after Feb 2026