Skip to content
rajm012Public

About

An immersive 3D visualization of your YouTube watch history, transforming 28,000+ videos into an interactive constellation of content patterns and viewing habits.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŒ YT-WrapUp: Temporal Attention Constellation

An immersive 3D visualization of your YouTube watch history, transforming 28,000+ videos into an interactive constellation of content patterns and viewing habits.


๐ŸŽฏ What is This?

YT-WrapUp is a personal data visualization project that takes your YouTube watch history and transforms it into a stunning 3D space where:

  • 28,069 videos float as glowing spheres in 3D space
  • Time flows left to right (your viewing journey over months)
  • Content clusters vertically (music, tech, comedy naturally group together)
  • Height shows engagement (playlisted videos float higher)
  • AI detects patterns automatically (binge sessions, interest shifts, late-night habits)

Think of it as Spotify Wrapped meets Three.js - but for your YouTube data.


โœจ Features

๐ŸŽฌ 3D Visualization

  • 28,069 video nodes rendered with GPU instancing (60 FPS performance)
  • 6 playlist hubs as large glowing spheres
  • 766 search queries with animated particle trails
  • 40,193 connections between related videos

๐ŸŽฎ Interactive Controls

  • Orbit, zoom, pan with smooth camera controls
  • Click any video to see details (title, channel, date, playlists)
  • Hover for previews with instant tooltips
  • Search visualization toggle (show/hide search connections)

๐ŸŽจ View Modes

  • Time View: Chronological timeline (default)
  • Semantic View: Content similarity clustering
  • Intent Flow: Spiral from searches to videos
  • Smooth 2-second transitions between modes

๐Ÿ• Time Travel

  • Timeline slider to scrub through your history
  • Fade-in animations as videos appear
  • Date range filtering with visual effects

๐ŸŽฏ Smart Filters

  • Playlist filters: Focus on specific collections
  • Channel filters: Highlight favorite creators
  • Multi-select with instant visual feedback

๐Ÿ’ก AI-Powered Insights

  • 19 detected patterns from your viewing behavior:
    • ๐ŸŽฌ Binge Sessions: 583 videos in 119 minutes detected
    • ๐Ÿ”„ Attention Shifts: Interest transitions between categories
    • ๐ŸŒ™ Late-Night Patterns: 4,737 videos after 11 PM (16.9%)
    • ๐Ÿ“Š Monthly Dominance: Which content ruled each month

๐ŸŽค Story Mode

  • Auto-narrated tour through all 19 insights
  • 8 seconds per insight with progress bar
  • Camera flies automatically to each pattern
  • Nodes highlight as story unfolds
  • Controls: Previous / Pause / Next

๐ŸŽญ Visual Effects

  • Bloom post-processing for glowing elements
  • Pulsing playlists with triple-layer glow
  • Animated particle trails for searches
  • Depth fog for atmospheric perspective

๐Ÿ“ธ Screenshots

In the Preview tab.


๐Ÿ› ๏ธ Tech Stack

Frontend

  • React 18 - UI framework
  • Three.js - 3D graphics engine
  • React Three Fiber - React renderer for Three.js
  • @react-three/drei - Three.js helpers
  • @react-spring/three - Smooth animations
  • @react-three/postprocessing - Bloom effects
  • Vite - Build tool & dev server

Data Processing

  • Python 3.13 - Data pipeline
  • pandas - Data manipulation
  • numpy - Numerical operations
  • sentence-transformers - AI embeddings (all-MiniLM-L6-v2)
  • scikit-learn - Clustering & dimensionality reduction
  • UMAP - 3D layout computation

๐Ÿ“Š Data Pipeline

Raw YouTube Data (JSON/CSV)
    โ†“
1. Merge & Clean (01_merge_data.py)
    โ†’ 28,069 videos unified
    โ†“
2. Compute Embeddings (02_compute_embeddings.py)
    โ†’ 384-dim semantic vectors
    โ†“
3. Build Graph (03_build_graph.py)
    โ†’ 40,193 connections detected
    โ†“
4. Compute 3D Layout (04_compute_layout.py)
    โ†’ UMAP dimensionality reduction
    โ†“
5. Detect Patterns (05_detect_patterns.py)
    โ†’ 19 insights extracted
    โ†“
3D Interactive Visualization

๐ŸŽฎ How to Use

Basic Navigation

  • Left Mouse Drag: Rotate the view
  • Right Mouse Drag: Pan the camera
  • Mouse Wheel: Zoom in/out
  • Click a sphere: View video details
  • Hover over spheres: Quick preview

Exploring Insights

  1. Click the ๐Ÿ’ก Insights button (bottom-left)
  2. Browse through 19 detected patterns
  3. Click any card to fly to that location
  4. Watch nodes highlight in golden color

Story Mode

  1. Click ๐ŸŽฌ Story Mode button (top-center)
  2. Sit back and enjoy the auto-narrated tour
  3. Use Previous / Pause / Next controls
  4. Each insight shows for 8 seconds

Filters

  • View Modes: Switch between Time/Semantic/Intent layouts
  • Timeline: Drag slider to filter by date range
  • Playlists: Toggle specific playlist visibility
  • Searches: Show/hide search connection trails

๐Ÿ“ˆ Statistics

  • Total Videos: 28,069
  • Total Connections: 40,193
  • Playlists: 6
  • Search Queries: 766
  • Detected Patterns: 19
  • Date Range: August 2024 - December 2025
  • Largest Binge: 583 videos in 119 minutes
  • Late-Night Videos: 4,737 (16.9%)

๐ŸŽจ Design Philosophy

3D Space Mapping

X-axis = TIME (past โ†’ future, left โ†’ right)
Y-axis = CONTENT TYPE (semantic similarity)
Z-axis = ENGAGEMENT (playlisted/searched = higher)

Color Coding

  • Red: Binge sessions
  • Blue: Attention shifts
  • Yellow: Late-night patterns
  • Green: Monthly dominance
  • Golden: Currently selected insight

Visual Hierarchy

  • Small spheres: Regular videos
  • Large glowing orbs: Playlists (gravity wells)
  • Particle trails: Search connections
  • Highlighted nodes: Filtered/selected content

๐Ÿš€ Deployment (GitHub Pages)

  1. Build the project

    cd frontend
    npm run build
  2. Deploy dist/ folder to GitHub Pages

    # Option A: Use gh-pages package
    npm install -g gh-pages
    gh-pages -d dist
    
    # Option B: Manual
    # Push dist/ contents to gh-pages branch
  3. Update repository settings

    • Go to Settings โ†’ Pages
    • Source: Deploy from branch gh-pages
    • Save and wait for deployment
  4. Access your site


๐Ÿค Contributing

This is a personal project, but feel free to:

  • Fork it for your own YouTube data
  • Report bugs via Issues
  • Suggest features or improvements

๐Ÿ“ License

MIT License - feel free to use this for your own YouTube data visualization!


๐Ÿ“ง Contact

Created by: [Raj Maurya]
GitHub: @rajm012
Project Link: YT-WrapUp


โญ If you found this interesting, consider starring the repo!


Built with โค๏ธ and lots of YouTube data

About

An immersive 3D visualization of your YouTube watch history, transforming 28,000+ videos into an interactive constellation of content patterns and viewing habits.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages