A modern, interactive visualization of electronic music genre evolution from 1930 to 2025
IGTEM (Ishkur's Guide to Electronic Music) is an interactive visualization tool that maps the evolution of electronic music genres. Originally created by Ishkur in the early 2000s, this project modernizes the classic guide with updated genres through 2025, complete with Ishkur's signature sarcastic descriptions.
- 251 Electronic Music Genres - From 1930s Musique Concrète to 2020s Digicore
- 11,493 Representative Tracks - Sound examples for each genre
- 502 Genre Connections - Influence and evolution relationships
- 4 Visualization Modes:
- Original View - Ishkur's classic timeline layout
- Network View - Force-directed genre influence graph
- Cluster View - Grouped by scene/category
- Timeline View - Chronological genre emergence
- 🔍 Real-time Search - Filter genres by name
- 🎨 Scene Filter - Browse by music category (House, Techno, DnB, etc.)
- 🖱️ Hover Detection - Identify overlapping genres
- 📖 Genre Details - Full descriptions with track examples
- 🔗 Influence Mapping - See genre relationships
- Node.js 18+
- Bun (recommended) or npm
# Clone the repository
git clone https://github.com/eskoNBG/IGTEM26.git
cd IGTEM26
# Install dependencies
bun install
# Set up the database
bun run db:push
# Start development server
bun run devOpen http://localhost:3000 to view the application.
| Metric | Count |
|---|---|
| Total Genres | 251 |
| Total Tracks | 11,493 |
| Total Links | 502 |
| Total Scenes | 28 |
| Year Range | 1930 - 2025 |
| Decade | Genres |
|---|---|
| 1930s | 1 |
| 1940s | 2 |
| 1950s | 4 |
| 1960s | 5 |
| 1970s | 14 |
| 1980s | 45 |
| 1990s | 105 |
| 2000s | 31 |
| 2010s | 35 |
| 2020s | 9 |
The 28 scenes include:
- House - Chicago House, Deep House, French House, Future House, etc.
- Techno - Detroit Techno, Acid Techno, German Techno, Melodic Techno
- Drum n Bass - Liquid, Neurofunk, Jump Up, DnB 2.0
- Trance - Progressive, Epic, Ibiza, Symphonic, Dutch
- Hardcore - Gabber, Terrorcore, Hardstyle, Rawstyle
- Bass - Dubstep, Trap, Riddim, Future Bass, Tearout
- Hip Hop - G-Funk, Gangsta Rap, Phonk, Digicore, Plugg
- Ambient/Chill - Vaporwave, Wave, Chill Out
- And 20 more categories...
- Tearout - Heavy dubstep variant
- Deathstep - Metal meets dubstep
- Stutter House - Glitchy vocal chops
- Digicore - Internet-native hip hop
- DnB 2.0 - Modern liquid DnB
- Sped Up - TikTok speed remixes
- Kawaii Future Bass - Anime-inspired future bass
- Midtempo Bass - 100 BPM heavy bass
- Colour Bass - Melodic dubstep
- Drift Phonk - Cowbell-heavy phonk
- Wave - Atmospheric trap
- Plugg/Pluggnb - Melodic trap variants
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Database: Prisma + SQLite
- Visualization: D3.js
- Styling: Tailwind CSS + shadcn/ui
- State: React Hooks
IGTEM26/
├── src/
│ ├── app/
│ │ ├── page.tsx # Main visualization
│ │ ├── layout.tsx # Root layout
│ │ └── api/ # API routes
│ │ ├── network/ # Network data
│ │ ├── genre/ # Genre details
│ │ └── admin/ # Admin endpoints
│ └── lib/ # Utilities
├── prisma/
│ └── schema.prisma # Database schema
├── db/
│ └── custom.db # SQLite database
├── upload/ # Source data files
└── worklog.md # Development log
| Endpoint | Method | Description |
|---|---|---|
/api/network |
GET | Get all genres and links for visualization |
/api/genre/[slug] |
GET | Get detailed genre info with tracks |
/api/admin/add-missing-genres |
POST | Add pre-2010 genres |
/api/admin/add-missing-genres/batch2 |
POST | Add 2010s genres |
/api/admin/add-missing-genres/batch3 |
POST | Add 2020s genres |
/api/admin/add-tracks-batch |
POST | Add representative tracks |
interface Genre {
id: string;
name: string;
slug: string;
sceneId: string;
emerged: string; // "early 90s", "mid 80s"
startYear: number;
aka: string; // Alternative names
description: string; // Ishkur-style description
bpmMin: number;
bpmMax: number;
status: 'active' | 'dormant' | 'extinct';
version: 'v3' | 'v4'; // Original or new
}Use the search bar to filter genres by name. Results update in real-time.
Click scene buttons to show only genres from that category. Use the dropdown for additional scenes.
Click on any genre node to see:
- Full Ishkur-style description
- BPM range
- Alternative names
- Representative tracks
- Related genres
- Scroll to zoom in/out
- Drag to pan
- Hover to highlight and identify overlapping genres
- Original Concept: Ishkur (music.ishkur.com)
- Development: IGTEM Team
- Genre Descriptions: Original Ishkur texts + new Ishkur-style descriptions
This project is for educational and archival purposes. Genre descriptions maintain their original satirical style as commentary on music culture.
Note: This is an unofficial fan project and is not affiliated with the original Ishkur's Guide to Electronic Music.