Skip to content

๐ŸŽต Transform Git commit history into beautiful symphonies with 3D visualizations. Built for Kiroween 2025 Hackathon.

License

Notifications You must be signed in to change notification settings

KHemanthRaju/GitSymphony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽต GitSymphony

Transform your Git commit history into a beautiful symphony with 3D visualizations

Kiroween 2025 License: MIT Node.js

GitSymphony Hero

๐ŸŽƒ Kiroween Hackathon - Frankenstein Category

GitSymphony combines three incompatible technologies into one harmonious experience:

  • Git (version control) + Web Audio API (music generation) + Three.js (3D graphics)

โœจ Features

๐ŸŽต Musical Mapping

Commits with Music

  • Real git integration - Analyzes actual repositories via backend API
  • Multiple instruments - Different file types play different instruments:
    • JavaScript/TypeScript โ†’ Synth
    • Python/Java โ†’ Piano
    • Go/Rust โ†’ Bass
    • CSS/HTML/Markdown โ†’ Pluck
  • Intelligent note mapping:
    • More additions โ†’ Higher pitch
    • Total changes โ†’ Note duration
    • Big commits (>100 changes) โ†’ Play chords
  • Pentatonic scale - Always sounds musical

๐ŸŒŒ 3D Visualization

3D Solar System

  • Commit galaxy - Each commit is a sphere in 3D space
  • Color coding:
    • Red โ†’ Large commits (>100 changes)
    • Orange โ†’ Medium commits (>50 changes)
    • Cyan โ†’ Addition-heavy commits
    • Light cyan โ†’ Small changes
  • Spiral layout - Commits arranged in a time-based spiral
  • Real-time highlighting - Active commit pulses and scales up
  • Rotating camera - Smooth orbital view

๐ŸŽฎ Interactive Controls

  • ๐Ÿ” Analyze any local git repository or GitHub URL
  • โ–ถ๏ธ Play/Stop your git symphony
  • ๐Ÿ“Š Real-time sync between audio and visual highlighting
  • ๐ŸŒ“ Dark/Light mode toggle
  • ๐ŸŽจ Interactive 3D - Drag to rotate, scroll to zoom

Light Mode

๐Ÿš€ Quick Start

# Clone the repository
git clone https://github.com/KHemanthRaju/gitsymphony.git
cd gitsymphony

# Install dependencies
npm install

# Run both frontend and backend
npm run dev:all

Open http://localhost:5174 in your browser and start analyzing repositories!

Alternative: Run Separately

# Terminal 1 - Backend API (port 3001)
npm run server

# Terminal 2 - Frontend (port 5173)
npm run dev

Try with Your Own Repository

  1. Enter . to analyze the current directory
  2. Or paste any public GitHub URL: https://github.com/user/repo
  3. Click Analyze to load commits
  4. Click Play to hear your git symphony!

How It Works

  1. Analyze: Backend API uses simple-git to parse repository history
  2. Map: Converts commit data (additions, deletions, file types) to musical parameters
  3. Visualize: Creates 3D representation using Three.js
  4. Play: Generates audio using Tone.js with multiple instruments and highlights commits in real-time

Mapping Algorithm

  • Pitch: Based on lines added (more additions = higher notes)
  • Duration: Based on total changes (more changes = longer notes)
  • Scale: Pentatonic scale for pleasant harmonies

Completed โœ…

  • Backend API to parse real git repos
  • 3D visualization with Three.js
  • Multiple instrument tracks based on file types
  • Real-time commit highlighting
  • Chord generation for large commits
  • Color-coded commit visualization

Next Steps

  • Export to MIDI/MP3
  • Live mode with git hooks (Kiro integration)
  • Branch visualization
  • Tempo control
  • Multiple repo comparison
  • Spec-driven development documentation

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Vite - Lightning-fast build tool
  • Tone.js - Web Audio API framework for music generation
  • Three.js - 3D graphics and visualization
  • Tailwind CSS - Utility-first styling
  • shadcn/ui - Beautiful UI components
  • Vanilla JavaScript - No framework overhead

Backend

  • Node.js + Express - REST API server
  • simple-git - Git repository parsing
  • CORS - Cross-origin support

Development Tools

  • Kiro AI - AI-powered development assistant
  • Playwright - Browser automation for screenshots
  • FFmpeg - Video generation from screenshots

๐Ÿ“น Demo

Watch GitSymphony in action:

https://github.com/KHemanthRaju/gitsymphony/raw/main/screenshots/gitsymphony-demo.mp4


๐ŸŽƒ Kiroween 2025 Hackathon Submission

Category: ๐Ÿ‘ป Frankenstein

Incompatible Technologies Successfully Combined:

  • ๐Ÿ”ง Git - Version control system
  • ๐ŸŽต Web Audio API - Real-time music generation
  • ๐ŸŒŒ Three.js - 3D graphics rendering

Kiro AI Features Utilized

This project was built with extensive use of Kiro AI's advanced features:

  • โœ… Vibe Coding - Rapid prototyping and iterative development
  • โœ… Steering Documents - Custom guidelines for music theory, project structure, and git analysis
  • โœ… Agent Hooks - Automated testing and code quality checks on file save
  • โœ… Spec-Driven Development - Structured feature planning with requirements, design, and tasks
  • โœ… Context Management - Efficient use of #File, #Folder, and #Codebase references

๐Ÿ“– See KIRO_USAGE.md for detailed documentation of Kiro integration.

Project Links


๐Ÿ“– Documentation


๐Ÿค Contributing

Contributions are welcome! Feel free to:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • Kiro AI Team - For creating an amazing AI-powered development tool
  • Kiroween 2025 - For hosting this creative hackathon
  • Tone.js & Three.js Communities - For excellent documentation and examples

Built with โค๏ธ and Kiro AI for Kiroween 2025 ๐ŸŽƒ

โญ Star this repo | ๐Ÿ› Report Bug | ๐Ÿ’ก Request Feature

License

MIT License - See LICENSE for details

About

๐ŸŽต Transform Git commit history into beautiful symphonies with 3D visualizations. Built for Kiroween 2025 Hackathon.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published