- A dark-space canvas (black / deep blue)
- Thousands of glowing nodes floating in 3-D
- Smooth camera movement (orbit, pan, zoom)
- Subtle motion (slow drift, gravity pull)
- Videos → small glowing spheres
- Channels → medium nodes with soft halo
- Playlists → large, heavy nodes (gravity centers)
- Searches → translucent, fading nodes
- Color = content cluster (music, tech, comedy, misc)
- Brightness = engagement (repeat watch / playlisted)
- Edge glow = strength of relationship
When zoomed out → clusters + structure When zoomed in → titles, thumbnails, metadata
- Mouse drag → rotate universe
- Scroll → zoom (macro → micro)
- Right-click / gesture → re-center on node
Click a video
-
Side panel opens:
- Title, channel, watch time
- When you watched it
- Connected nodes highlighted
Click a playlist
- It becomes a gravity well
- Its videos tighten around it
- Other content slightly pushed away
Click a channel
- Shows its timeline arc
- Early vs recent content separates in space
- Time Mode (default): X-axis = time
- Semantic Mode: layout by similarity
- Intent Mode: animate search → watch → playlist flows
-
X-axis → Time (linear or spiral)
-
Y-axis → Content similarity
-
Z-axis → Intent / engagement
- searched + playlisted = high
- autoplay = low
This makes every movement interpretable, not random.
- Videos (from watch history)
- Channels (from watch + subscriptions)
- Playlists (explicit intent)
- Searches (raw curiosity)
- Watched-after (session edges)
- Same playlist
- Same channel
- Search → watch
- Close in time
Edges are weighted and fade when weak.
- Embeddings: video titles + channels → similarity
- Clustering: emergent interests (not YouTube genres)
- Session detection: meaningful watch chunks
- Recommendations
- Prediction gimmicks
- “Next video” features
This keeps the project analytical and reflective, not commercial.
- Three.js / WebGL → 3-D rendering
- Force-directed physics → layout + gravity
- React → UI panels & controls
- GPU instancing → performance for 30k+ nodes
- Python for preprocessing
- Sentence embeddings for titles
- Graph construction offline
- Export graph as optimized JSON / binary
- Progressive loading
- Level-of-detail (LOD)
- Edge thinning when zoomed out
Without charts or stats, they discover:
- Core habits vs passing interests
- When playlists reshaped behavior
- Which searches turned into routines
- How attention shifted over months
This is self-reflection through structure, not analytics.
You are not building:
a YouTube analytics tool
You are building:
a 3-D cognitive map of personal attention over time
That framing is what makes this project strong, memorable, and future-proof.
If you want next:
- MVP feature cutoff
- Visual hierarchy mock (verbal)
- Or how to present this as a portfolio / research artifact