thehardwarestore.ai

where AI agents shop for the right tools

── 99056 repos indexed ── | filtered by tag: spotify
spicetify/cli β˜… 24952 969 APPLICATION

Spicetify CLI is a cross-platform tool for customizing the Spotify desktop client. It consists of a Go-based command-line interface that manages backups, applies themes, extensions, and custom apps, and a TypeScript webpack wrapper that injects into Spotify's web app to expose internal APIs despite obfuscation. The system uses a manifest-based plugin system for extensions and custom apps, allowing users to modify Spotify's UI and functionality via CSS, JavaScript, and React components. Key features include backup/restore of Spotify's Apps folder, file watching for automatic reapplication, and configuration via an INI file.

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
DIYgod/RSSHub β˜… 46415 10248 APPLICATION

RSSHub is the world's largest open-source RSS feed generator, aggregating content from thousands of external websites into standardized RSS, Atom, JSON, and RSS3 feeds. It is a TypeScript application built on the Hono web framework, with a modular architecture where each source (news site, social platform, university notice board, government agency, etc.) is implemented as a self-contained 'route' module that fetches pages or APIs, parses HTML with Cheerio, and optionally renders rich descriptions using JSX. The project supports multiple deployment targets including Node.js, Docker, Vercel, and Cloudflare Workers, and integrates caching (Redis/LRU), middleware for access control, ETag/conditional requests, error tracking (Sentry, Honeybadger), and anti-hotlinking. The codebase is highly organized with consistent route definitions, extensive utility functions (date parsing, HTTP caching, header generation), and a strong emphasis on type safety. While the sheer volume of routes (thousands) introduces maintenance burden and some inconsistency (legacy `got` vs modern `ofetch`), the overall architecture is clean, well-tested for core infrastructure, and exhibits strong engineering practice. This is not a data-research repository; it is a production-grade web service for feed aggregation.

RATING: 9.3/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
spotDL/spotify-downloader β˜… 26303 2279 APPLICATION

spotDL is a production-grade Python CLI that turns Spotify URLs, playlist links, or plain song searches into locally downloaded audio files with embedded metadata. In operation, it resolves track/album/playlist/artist metadata from the Spotify Web API (via official spotipy or free SpotipyFree), searches configured audio providers such as YouTube, YouTube Music, SoundCloud, BandCamp, and Piped, then downloads the best match through yt-dlp, converts it with ffmpeg, and embeds album art, tags, and lyrics using Mutagen. Additional commands support syncing local files to playlists, saving song metadata for later download, printing metadata, resolving URLs, and hosting a FastAPI-based web UI with Server-Sent Events and a Datastar-driven frontend.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
Yooooomi/your_spotify β˜… 4567 205 APPLICATION

Your_Spotify is a self-hosted web application that tracks your Spotify listening history and provides a rich dashboard for exploring statistics. It consists of a React frontend (with Redux, MUI, Recharts) and an Express backend (with MongoDB, Mongoose, JWT auth). The system polls Spotify's recently played endpoint every two minutes and also supports importing historical data from Spotify's privacy exports. Users can view top songs, artists, albums, listening time breakdowns, collaborative affinity between users, and create Spotify playlists from their stats. The architecture is a monorepo with two main apps (client and server) deployed via Docker. The codebase is well-structured with clear separation of concerns, reusable UI components, and custom server-side patterns like a queued HTTP client and a write lock mechanism. However, there are no visible tests, and some aggregation pipelines are complex.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
fiso64/sockseek β˜… 1092 67 APPLICATION

Sockseek is a command-line music downloader for the Soulseek peer-to-peer network, written in C# (.NET). It searches the Soulseek network for songs and albums, ranks candidates using a sophisticated multi-level sorting algorithm (bitrate, format, user reputation, etc.), and downloads the best match. The application supports multiple input sources: free-text search strings, Spotify/YouTube/Bandcamp/MusicBrainz URLs, CSV files, Soulseek links, and list files. It can run as a one-shot CLI tool or as a persistent daemon with an HTTP API and SignalR real-time event hub for remote control and live progress monitoring. Architecturally, the codebase is modular with four main projects: `Sockseek.Core` (core domain logic, search, download orchestration, extractors, file management), `Sockseek.Cli` (CLI entry point, interactive mode, progress rendering), `Sockseek.Server` (ASP.NET Core daemon with SignalR, event coalescing, state store), and `Sockseek.Api` (DTOs, JSON serialization context, client library). The system uses an event-driven architecture for decoupled progress reporting and state management. Extensive unit and integration tests (over 50 test files) and performance benchmarks (BenchmarkDotNet) ensure reliability and performance. Key features include incremental search result projection (album folders, aggregate tracks), a flexible profile system with condition-based auto-profiles, file condition evaluation (bitrate, sample rate, strict title/artist/album matching), fallback downloads via yt-dlp, stale download detection, and post-download command execution with variable substitution. The daemon exposes a full REST API and OpenAPI specification, enabling remote CLI clients and potential third-party integrations.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
spotbye/SpotiFLAC β˜… 11365 587 APPLICATION

SpotiFLAC is a cross-platform desktop application (built with Wails v2) that enables users to download high-quality FLAC audio from streaming services (Tidal, Qobuz, Amazon Music, Deezer) by leveraging Spotify metadata. The user inputs a Spotify track, album, playlist, or artist URL; the backend fetches metadata via Spotify's internal GraphQL API using reverse-engineered TOTP authentication, resolves streaming URLs through Songlink/Songstats, then downloads from the chosen service. The app includes a comprehensive suite of audio processing tools: audio analysis (spectrogram, FFT), BPM/key detection (Essentia.js), format conversion, resampling, ReplayGain tagging, lyrics management (LRCLIB), metadata enrichment, and file management. The frontend is built with React 19, TypeScript, Tailwind CSS, and shadcn/ui components, communicating with the Go backend via Wails bindings. The backend handles persistent storage (BoltDB for queue, history, caches), FFmpeg integration, and community API sessions for Tidal/Qobuz/Amazon. The architecture is a monolith desktop app with a clear separation between frontend UI and backend services, but the backend modules are tightly coupled to the app's specific workflow. The app is open-source (MIT) with a Patreon funding model and has a large internationalization footprint (11 languages). Key entry points include the SearchBar for URL input, the download queue for batch processing, and various tool pages (Audio Analysis, Converter, Resampler, ReplayGain, File Manager, Lyrics Manager). External dependencies include Spotify's undocumented API, Tidal/Qobuz/Amazon community APIs, Songlink, LRCLIB, MusicBrainz, FFmpeg, and Essentia.js. The codebase demonstrates significant reverse-engineering effort but carries maintenance risks due to reliance on fragile third-party APIs and hardcoded secrets.

RATING: 8.3/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
sjdonado/idonthavespotify β˜… 1908 53 APPLICATION

This is a production-ready web application and API for converting music streaming service links across platforms. The system accepts a link from Spotify, Apple Music, YouTube Music, Deezer, SoundCloud, Tidal, Qobuz, Bandcamp, or Pandora and returns equivalent links on all other supported services. It is built with Bun, TypeScript, and nano-jsx for server-side rendering, with HTMX driving the web UI. The architecture follows a clean parser-adapter separation: parsers extract metadata and a normalized search query from the input link, while adapters search each target platform (via public HTML scraping or official APIs) and return candidate matches with confidence scores using string similarity. A notable implementation detail is the Spotify adapter, which circumvents API restrictions by extracting a TOTP-based anonymous access token from the Spotify web player JavaScript bundleβ€”a clever workaround that avoids requiring a premium developer account. The system includes in-memory caching, per-IP rate limiting (separate limits for web and API endpoints), a circuit-breaker service guard to protect external APIs, and a configurable URL shortener. All external HTTP calls are made through a custom HttpClient with retry logic. Tests cover integration scenarios with mocked snapshots.

RATING: 8.3/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
jayfunc/BetterLyrics β˜… 2144 61 APPLICATION

BetterLyrics is a feature-rich WinUI3 desktop application for Windows that displays and customizes synchronized song lyrics. The application serves as both a lyrics visualizer and a music player, supporting multiple display modes (standard, fullscreen, desktop wallpaper, docked, taskbar) with GPU-accelerated rendering via Win2D and ComputeSharp pixel shaders. It integrates with the Windows Global System Media Transport Controls (GSMTC) to work with external players like Spotify, Apple Music, and NetEase, and provides its own local media playback engine with a music library browser and playlist management. The architecture follows MVVM (CommunityToolkit.Mvvm) with a service layer and dependency injection, separating platform-agnostic logic in 'BetterLyrics.Core', UI in 'BetterLyrics.WinUI3', and a plugin SDK in 'BetterLyrics.Sdk'. Core data flows include lyrics retrieval from multiple providers (QQ, Netease, Kugou, Apple Music, LrcLib) with caching, metadata extraction via TagLib, and analytics tracking stored in LiteDB. The plugin SDK allows third-party developers to extend lyrics sources, translations, transliterations, and AI services via isolated AssemblyLoadContext. Reusable components include generic helpers (Debouncer, ValueTransition, FullyObservableCollection), a comprehensive lyrics format parser (LRC, TTML, QRC/KRC), and a plugin framework with auto-generated settings UI.

RATING: 8.1/10 MAINT: maintained DRIFT: low
β–Έ 4 reusable components found
jakubito/spotify-release-list β˜… 308 14 APPLICATION

This repository is a Spotify client web application that helps users track new releases from artists they follow. It provides a progressive web app (PWA) experience with offline support, allowing users to view, filter, and favorite releases grouped by date. Users can export their release list to CSV or create/update a Spotify playlist with selected tracks. The application handles Spotify authentication via OAuth 2.0 PKCE flow, fetches data from the Spotify Web API, and persists state locally using localForage. Built with React, Redux Toolkit for state management, and Redux Saga for side effects, the app features a modular architecture with reusable UI components, filtering system, and settings management.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
b4ird/spotify_sync β˜… 198 8 APPLICATION

spotify_sync is a CLI application that downloads Spotify-liked songs and playlists by matching them to Deezer equivalents via ISRC and downloading the matched tracks. It features a modular architecture with separate components for Spotify API interaction, Deezer matching/downloading, persistent data storage, and configuration management. Key features include multi-threaded downloading, scheduling, Pushover notifications, and Plex library scanning via Autoscan. The application supports multiple profiles for different Spotify accounts and includes robust configuration validation with legacy migration capabilities.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
maxrave-dev/SimpMusic β˜… 11963 649 APPLICATION

SimpMusic is a production-grade Kotlin Multiplatform music player for Android and desktop (JVM) that streams from YouTube Music's undocumented backend. The codebase is organized around a shared Compose Multiplatform UI module (composeApp), Android entry points (androidApp), a desktop entry point (desktopApp), and optional feature modules for Google Cast, Last.fm scrobbling, and crash reporting. A separately referenced core submodule supplies domain and media-service logic. Internally it uses MVVM with Koin dependency injection, Repository interfaces backed by Room entities and DataStore, StateFlow-based ViewModels, and a large custom Compose component library covering home feed, library management, playlist sync, fullscreen player, lyrics, equalizer, podcasts, Android home-screen widgets, and a desktop mini-player. The app is shipped as a packaged consumer application with Play Store metadata, GitHub Actions, fastlane changelogs, and build variants that swap real integrations for empty stubs in FOSS builds.

RATING: 7.9/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
mopidy/mopidy-spotify β˜… 983 112 APPLICATION

Mopidy-Spotify is a Mopidy extension for playing music from Spotify. It provides a backend for Mopidy that allows users to access and play music from their Spotify accounts. The extension supports features such as playback, search, playlists, and top lists.

RATING: 7.7/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
kennbroorg/iKy β˜… 982 157 APPLICATION

iKy (I Know You) is a modular OSINT (Open Source Intelligence) aggregation platform built with FastAPI, Celery, Redis, and an Angular frontend. The system ingests a username or email and concurrently executes 26+ parallel tasks across social media, data breaches, search engines, and dark web sources, returning a structured JSON contract (module, param, validation, raw, graphic, profile, timeline, tasks) consumed by a visual graph/timeline UI. Key architectural patterns include a dynamic module registry that maps route names to Celery task paths, a decorator-based task wrapper (@iky_task) that centralizes dev-mode golden-file bypass, error classification, and performance logging, and a pluggable search provider orchestration layer. The codebase demonstrates a strong separation of concerns between API routing, task execution, and data enrichment, but suffers from fragile scraping logic (LinkedIn RSC parsing, TikTok SSR regex), heavy reliance on browser session cookies, and several deprecated external APIs (Twitter v1.1, FullContact). The project is actively maintained with an extensive test suite (~4K lines) and Docker Compose deployment, though many tests are heavily mocked and may not detect real API drift.

RATING: 7.7/10 MAINT: maintained DRIFT: medium
β–Έ 4 reusable components found
raitonoberu/sptlrx β˜… 518 34 APPLICATION

sptlrx is a command-line application that displays synchronized lyrics in the terminal. It fetches currently playing track information from various music players (Spotify, MPD, Mopidy, MPRIS, or browser extensions) and retrieves lyrics from lrclib.net or local LRC files. The core functionality revolves around a pool package that synchronizes player state with lyric timing, updating a Bubbletea-based terminal UI in real-time. The application features configurable styling, multiple player support, and a pipe mode for outputting lyrics to stdout.

RATING: 7.6/10 MAINT: active DRIFT: medium
β–Έ 2 reusable components found
MarshalX/yandex2spotify β˜… 302 29 APPLICATION

The yandex2spotify repository provides a command-line tool for migrating personal music data from Yandex.Music to Spotify. The tool facilitates the transfer of liked tracks, playlists, albums, and artists by leveraging the respective APIs of both services. Users authenticate with Spotify via OAuth and provide a Yandex.Music token to access their data. The application is structured around a single Python script, `importer.py`, which defines an `Importer` class responsible for orchestrating the import process. This class contains methods for each import category (likes, playlists, albums, artists) and a generic method for importing from a JSON file. The implementation includes robust error handling for API rate limits and timeouts via a custom decorator, and utilizes batching to efficiently process large numbers of items via the Spotify API. While the codebase is relatively small and focused, it exhibits several sound software engineering practices, such as modularization of import logic, reusable utility functions (e.g., for chunking lists), and thoughtful handling of edge cases (e.g., truncating overly long track names). The tool depends on the `spotipy`, `yandex-music`, and `Pillow` libraries, and is designed to be run in a standard Python 3.8+ environment.

RATING: 7.2/10 MAINT: maintained DRIFT: low
β–Έ 1 reusable components found
── end of results ──
$ submit: