Back to homepage

Web / Interactive

Tangled Roots

Tangled Roots turns musical curiosity into a visual experience for understanding how genres emerge, blend, and influence one another over time.

An interactive site about music history, showing how genres, artists, events, and movements connect through graphs, maps, timelines, and sourced narratives.

Project type: Web / Interactive Status: live Year: 2026

Executive summary

Problem

Organize a complex music history full of cross-influences, migrations, local scenes, and historical debates into something navigable, visual, and trustworthy.

Solution

I built a static site with Astro, Content Collections, D3, MapLibre, Pagefind, and Zod-validated Markdown content, combining a genre graph, timeline, map, and sourced narrative pages.

Image gallery

Tangled Roots gallery selected

First-person notes on product decisions, execution, and lessons from this project.

Tangled Roots is a project born from a personal curiosity: understanding music history more deeply and seeing how different genres formed, crossed paths, and influenced one another.

I have always loved music, but recently I started studying the history behind the styles more intentionally, especially American music, which is probably the most widely known and exported musical tradition in the world. What stood out to me is that no genre appears in isolation. Blues, jazz, country, gospel, rhythm and blues, soul, funk, hip-hop, rock, folk, and many other styles form a network of roots, migrations, communities, technologies, and artists.

Tangled Roots was created to turn that network into a visual experience.

What was built

The site presents genres, artists, events, eras, and sources through a fully data-driven structure. Instead of treating music history as a straight line, the project shows influence relationships, branches, geographic movement, and historical periods.

The main elements include:

  • an interactive graph connecting music genres;
  • a timeline for observing how movements developed over time;
  • a map with important regions, scenes, and movement patterns;
  • individual pages for genres, artists, and events;
  • historical narratives with sources;
  • panels for separating record, legend, and disputed history;
  • lightweight YouTube embeds for musical examples;
  • static search powered by Pagefind;
  • Markdown content validated at build time.

Role in the project

I created the project as a tool for learning and exploration. My work covers research, curation, content modeling, experience design, visualization implementation, technical architecture, and publishing.

The main challenge is turning a deeply connected subject into an interface that helps visitors follow their own paths. Someone can start with Delta blues, move into the Great Migration, pass through Chicago blues, rhythm and blues, soul, funk, and end up in hip-hop. Someone else can follow jazz, electronic music, or folk traditions.

Product and technology decisions

The site was built as a static application. All content lives in Markdown inside Astro collections, with Zod schemas ensuring invalid files fail the build before reaching production.

The graph uses D3, the map uses MapLibre GL JS, and search is generated with Pagefind after the build. The public experience does not depend on a client-side framework runtime; interactivity ships as small vanilla JavaScript layers.

This architecture fits the project well: rich content, fast navigation, good SEO, low hosting cost, and a simple path for expanding new branches over time.

Result

Tangled Roots is live at music.gacitua.dev and works as a living study base about music, culture, and influence.

The project still has plenty of room to grow, but v1 already includes a verified vertical slice with genres, artists, events, a D3 graph, timeline, narrative pages, validated embeds, and a foundation ready for maps, guided tours, and continuous content expansion.

Stack

Astro 5TypeScriptAstro Content CollectionsZodD3MapLibre GL JSPagefindGoogle Identity ServicesYouTube embedsCSSCloudflare Pages

Tags

MusicHistoryData VisualizationAstroD3Maps

Next projects to explore