Crescendo

AI-Powered Music Discovery & Community Platform

Role: Full-Stack Developer

Tech: TypeScript, React, Node.js, REST APIs, D3.js, Gemini API, LLM APIs

Overview

Crescendo is a full-stack music discovery web platform designed to help users explore artists, reviews, sentiment, and genre-specific recommendations through AI-assisted analysis. The project focused on making music discovery more useful by combining review data, artist metadata, interactive visualizations, and LLM-powered insights.

Problem

Music discovery can be fragmented across streaming platforms, review sites, social media, and niche communities. Crescendo was built to organize music-related information into a more focused experience where users could discover artists, understand review sentiment, and explore recommendations by genre or community interest.

What I Built

  • Built and launched a working full-stack music discovery website.
  • Implemented REST API workflows to process music review data and organize artist metadata.
  • Integrated LLM-powered analysis to generate artist insights, review sentiment, and genre-specific recommendations.
  • Developed interactive D3.js dashboards to visualize artist engagement, sentiment trends, and discovery patterns.
  • Engineered prompt templates to improve consistency and relevance in AI-generated music recommendations.

Technical Architecture

The platform used a React/TypeScript frontend connected to backend REST API workflows for artist data, review analysis, and recommendation features. LLM APIs were used to analyze music-related content and generate structured insights. D3.js was used to turn review and engagement data into interactive visualizations.

Example backend routes included:

GET  /artists
GET  /artists/:id
POST /reviews/analyze
GET  /recommendations
GET  /dashboard/sentiment

What I Learned

Crescendo strengthened my experience with full-stack web development, API design, AI-assisted features, and data visualization. It also helped me think about how to build products that combine user-facing design, backend data workflows, and LLM-powered analysis in a way that feels practical instead of just experimental.