← All Projects
Screenshot coming soon
// Project
Vibe Splitter
Feb 2026 – Present·2026
Personal side project: built and actively maintained outside of university. A self-initiated full-stack Python web app for automated Spotify library management.
My Role
Sole Developer (Personal Project)
Web app that automatically clusters a Spotify library into vibe-based playlists using Last.fm genre tags, MiniLM semantic embeddings, and optional Spotify audio features. Runs hourly, routes new tracks via cosine similarity, and features a real-time SSE-powered dashboard.
Key Highlights
- 01.Semantic clustering pipeline using fastembed (ONNX MiniLM) to encode Last.fm tags and track metadata into vector embeddings, with optional Spotify audio feature fusion.
- 02.Confidence-based routing: tracks above the auto-assign threshold go directly to playlists; uncertain tracks land in a review inbox for manual approval.
- 03.Drift detection monitors cluster cohesion over time and flags automatically when a full recluster is needed.
- 04.Server-Sent Events (SSE) bus powers a real-time dashboard: sync status, track counts, inbox queue, and override controls update live without polling.
- 05.Circuit breaker pattern in the Spotify API client handles rate limits and transient failures gracefully.
- 06.Containerised with Docker and deployed on Render; SQLite state layer with atomic writes ensures safe concurrent access.
Tech Stack
PythonFlaskSpotify APIfastembedSQLiteDockerSSE