Linguify is a full-stack web application that allows users to analyze the linguistic diversity of their Spotify libraries. By processing track metadata and lyrics, the app generates a comprehensive language profile, identifying bilingual tracks and providing tools for lyric-based language learning

Status Update: Due to recent restrictive changes in the Spotify Web API for independent developers, Linguify is currently in a "Read-Only" portfolio state. At its peak, the platform supported over 100 active users during its initial feedback phase

Technical Stack

  • Backend: Flask (Python) following Clean Architecture principles to decouple business logic from external APIs.

  • Frontend: React and Tailwind CSS for a responsive, dark-mode dashboard.

  • Database & APIs: Spotify Web API (OAuth 2.0), Musixmatch/Genius API, SQL for Database Query

  • Data Visualization: Custom Charting (Chart.js), Dynamic Dashboards, Mapbox SDK for geospatial visualization

  • State Management & Parallel Processing: Real-time analysis progress tracking for large libraries (e.g., “Liked Songs” analysis)

To ensure high accuracy in language classification, I implemented a multi-layered detection pipeline:

  • Natural Language Processing: Initial language detection performed on song lyrics.

  • Heuristics Programming: When NLP certainty scores fell below a specific threshold, the system automatically fell back on secondary heuristics, such as artist metadata and album-level language tags, to resolve ambiguities.

  • Scalability: Designed the backend to manage long-running tasks, providing users with estimated analysis times for large libraries.

Key Features

1. Automated Library Analysis

The application analyzes user libraries (up to 1000 songs across 28+ languages in test cases) to determine favorite languages and listening habits. It handles long-running data tasks by providing users with estimated analysis times and progress updates.

2. Geospatial Musical Footprint Using Mapbox, I developed an interactive global map that pins the origin of a user’s music library. This allows users to visualize their geographical “musical footprint” across different continents.

3. Lyric-Integrated Learning Linguify bridges data and education by allowing users to interact with song lyrics.

  • Metadata: Displays language families and speaker populations (e.g., “Italian: Romance Family, 65 million speakers”).

  • Learning Tools: Users can select lyric lines to generate flashcard decks or custom Spotify playlists for immersion (coming soon).