LyricLens is an AI-powered song lyrics analysis tool. It help users uncover the hidden depths of their favorite songs by providing a comprehensive breakdown of themes, emotions, literary devices, and structure.
- Deep Lyrics Analysis: Uses advanced AI (gemma-4-26b-a4b-it) to deconstruct song meaning.
- Visual Metrics (Radar Chart): Visualizes 8 key dimensions of a song:
- Emotion, complexity, storytelling, imagery, repetition, intensity, originality, and depth.
- Multilingual Support: Generate analyses in English, German, Spanish, French, Italian, or Japanese.
- File Upload: Supports pasting lyrics directly or uploading
.txtfiles. - Analysis History: Keeps track of your recent analyses (stored on a PHP/MySQL backend).
- Responsive & Modern UI: Built with React, Tailwind CSS, and Framer Motion for a smooth, immersive experience.
- Frontend: React, Vite, Tailwind CSS, Recharts, Framer Motion, Lucide Icons.
- Backend: PHP (for API), MySQL (for history storage).
- AI Integration: Openrouter or Ollama
- A web server (Apache/Nginx) with PHP and MySQL support.
- Node.js & npm (for building the frontend).
- A running Ollama instance (optional, for local AI).
- Create a MySQL database named
lyriclens. - Run the SQL schema found in
backend/database.sqlto create the history table. - Configure your database credentials in
backend/api/config/config.php. - Upload the contents of the
backend/folder to your web server (e.g., to/api).
- Clone the repository.
- Install dependencies:
npm install- Update the config.ts file in the /src directory:
const config = {
api: {
generateUrl: "/api/generate.php",
historyUrl: "/api/history.php",
},
model: {
name: "google/gemma-4-26b-a4b-it",
},
} as const;
export default config;- Build the project:
npm run build- Deploy the contents of the
dist/folder to your web server.
To run the development server locally:
npm run devThis project was built using "Vibe-Coding" methods in Google AI Studio. It showcases how a developer can iterate rapidly from a simple idea to a complex full-stack application by directing a coding agent through natural language.
Developed by Michael Jentsch | jentsch.io Copyright © 2026