TechEniac

From Lyrics to Meaning: Building an AI-Powered Music Interpretation Platform

Dice la Canción is a Spanish-language music content platform that combines song lyrics with AI-generated interpretations to help visitors understand what their favorite songs mean. The platform brings together song discovery, artist catalogs, AI-generated stories, embedded music videos, social engagement, and a lightweight admin CMS into one connected experience. Built for a Spanish-speaking audience, it uses AI and external music data to continuously expand its catalog while giving the content team simple controls to review, edit, and manage generated stories.

MediaTech / EntertainmentTechSpain
Dice la Canción Platform

Pain Points

As the platform aimed to build a growing library of song interpretations for a Spanish-speaking audience, manually managing the catalog and creating content for every song became difficult to sustain. The team needed a way to continuously expand the catalog, generate meaningful interpretations at scale, and keep enough editorial control to ensure the content remained useful and manageable.

An incomplete, hard-to-grow song catalog

public search falls back to the external Genius API whenever a song isn't already in the local database, and an unimported result can be pulled in and auto-storied in one click; the admin search endpoint falls back to Genius the same way for staff lookups. This pattern points to a catalog that could never have been filled and kept current by hand alone.

Writing a 'meaning' for every song doesn't scale

a dedicated AI pipeline (POST /api/add-ai-response/[songId]) drafts each song's story via OpenAI on demand, showing that manually writing an interpretation for every song in the catalog was never a workable operating model.

Missing artist and song imagery

a separate SongDetails table plus two dedicated 'update-script' routes exist purely to backfill artist photos, thumbnails, and artist descriptions from Genius, showing incomplete visual metadata was a real, recurring gap in the catalog.

A small team needed simple, low-overhead content controls

admin operations are deliberately flat: one quick-edit dialog per song, one global AI prompt row, and one global 'featured song' flag, rather than a multi-step editorial workflow, implying a need for speed and simplicity over process.

Client Expectations

Give Spanish-speaking visitors an easy way to understand what a song means through AI-generated explanations.

Pair song lyrics with AI-generated interpretations in one engaging experience.

Make songs easy to discover through search and curated content.

Include the music video directly on the song page.

Allow the catalog to grow without requiring the team to manually add every song.

Give administrators the ability to review and edit AI-generated content.

Keep content management simple and lightweight for a small team.

Proposed Solution

Home Discovery Hub

The homepage leads with a hero search box plus two curated grids — TRENDING (from /api/songs/trending, up to 24 songs ranked by hit count) and LATEST (from /api/songs/latest, ordered by creation date) — each card linking straight into a song's meaning page.

AI Song Meaning Page

The core content page: it renders the AI-generated meaning story for a song's lyrics (generating it on the fly if it doesn't exist yet, with a loading state), an optional embedded YouTube video, artist/album/date metadata, anonymous like/dislike voting with live counts, Facebook/Twitter/WhatsApp share buttons, a 'Trending this week' rail, and a 'More from this artist' grid.

Per-Artist Catalog

Every artist gets their own page — avatar, name heading, and a paginated grid of every song by that artist — pulled from /api/artist, which also resolves an artist description and profile image from the first available song in their catalog.

Search & On-Demand Import

Search queries the local catalog first, then falls back to the external Genius API for songs not yet imported; clicking an unimported result triggers an on-demand import plus AI story generation before taking the visitor to the new song's meaning page - the mechanism that keeps the catalog growing without manual data entry.

Manual Content & AI Override

A modal exposing every editable field on a song, including a rich-text 'Content' (lyrics) editor and a rich-text 'Story' editor that lets an admin directly overwrite the AI-generated openAIResponse text - the primary human-in-the-loop control over AI output found in the product.

Tech Stack & Infrastructure

Frontend & Framework

Next.js 14React 18TypeScript 5

State & Data

Prisma 5.11

Database

MySQL

Authentication & Security

Custom JWTjsonwebtokenbcrypt

AI

OpenAI GPT-3.5 Turbo

External Data

Genius API

Localization

i18nextreact-i18next

You might also like some of our recent stories