Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IGTEM 2026 - Ishkur's Guide to Electronic Music

A modern, interactive visualization of electronic music genre evolution from 1930 to 2025

IGTEM Preview Tracks Links

🎵 About

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.

Features

  • 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

Interactive Features

  • 🔍 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

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • Bun (recommended) or npm

Installation

# 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 dev

Open http://localhost:3000 to view the application.

📊 Database Statistics

Metric Count
Total Genres 251
Total Tracks 11,493
Total Links 502
Total Scenes 28
Year Range 1930 - 2025

Genres by Decade

Decade Genres
1930s 1
1940s 2
1950s 4
1960s 5
1970s 14
1980s 45
1990s 105
2000s 31
2010s 35
2020s 9

🎹 Genre Categories (Scenes)

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...

🆕 New Genres Added (2020-2025)

2020s

  • 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

Late 2010s

  • 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

🛠️ Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Database: Prisma + SQLite
  • Visualization: D3.js
  • Styling: Tailwind CSS + shadcn/ui
  • State: React Hooks

📁 Project Structure

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

🔌 API Endpoints

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

📝 Genre Data Model

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
}

🎯 Usage

Search Genres

Use the search bar to filter genres by name. Results update in real-time.

Filter by Scene

Click scene buttons to show only genres from that category. Use the dropdown for additional scenes.

View Genre Details

Click on any genre node to see:

  • Full Ishkur-style description
  • BPM range
  • Alternative names
  • Representative tracks
  • Related genres

Navigate the Graph

  • Scroll to zoom in/out
  • Drag to pan
  • Hover to highlight and identify overlapping genres

🙏 Credits

  • Original Concept: Ishkur (music.ishkur.com)
  • Development: IGTEM Team
  • Genre Descriptions: Original Ishkur texts + new Ishkur-style descriptions

📜 License

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.

About

ISHKUR'S GUIDE TO ELECTRONIC MUSIC v4.0

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages