Skip to content

MiniFy is an enhanced Spotify mini player that seamlessly integrates into the Spotify UI. Using custom CSS, delivering a clean, lightweight, and truly native-feeling mini player experience—no extra windows or clunky overlays, just a smooth, integrated workflow.

License

Notifications You must be signed in to change notification settings

ModioStudio/MiniFy

MiniFy logo

MiniFy

Spotify mini player for desktop built with Tauri + React, paired with a Next.js landing site.

🌐 Website · 📚 Documentation · ⬇️ Download

Report Bug · Request Feature · Project Board · Discord

TypeScript 5.8 React 19 Tauri 2 Vite 7 Next.js 15 Tailwind CSS 4 Spotify API Vercel AI SDK Turborepo 2 pnpm 9 Rust

Table of Contents

Overview

MiniFy is a lightweight Spotify mini player built with Tauri. It lives as a frameless desktop overlay, polls the Spotify API for the currently playing track, and gives you playback controls, themeable layouts, and native OS menus. A Next.js site lives alongside the desktop app for marketing and downloads.

Features

🎧 Core Player

  • Spotify OAuth flow with secure token storage and automatic refresh
  • Playback controls, scrubbing, and save-to-library actions
  • Native context menu with quick access to settings and window controls
  • Keyboard-friendly design with configurable shortcuts

🎨 Customization

  • Multiple Layouts: Three player layouts (A, B, C) optimized for different workflows
  • Built-in Themes: Dark, Light, Spotify Green, and more pre-built themes
  • Theme Studio: Create custom themes with a live JSON editor
  • Persistent Settings: Your preferences are saved and restored automatically

🤖 AI DJ

  • Multi-Provider Support: OpenAI, Anthropic, Google AI, and Groq
  • Music Analysis: Understands your listening patterns, top artists, and audio preferences
  • Natural Language Control: "Play something energetic" or "Find songs like my recent listens"
  • Smart Recommendations: Uses Spotify's audio features (energy, mood, tempo, danceability)

🔐 Security

  • Secure Keyring Storage: All credentials stored in OS-level credential manager
  • No Plain Text: API keys and tokens never saved to files
  • OAuth PKCE: Industry-standard secure authentication flow

Roadmap

Architecture

  • Tauri shell hosting a Vite + React UI for the player.
  • Rust commands manage OAuth, secure keyring storage, and Spotify Web API calls.
  • All credentials (Spotify tokens, AI API keys) stored in OS-level secure keyring.
  • AI DJ powered by Vercel AI SDK with tool-calling for Spotify integration.
  • Shared settings persisted on disk; playback state is polled and cached in the renderer.
  • Optional Next.js 15 site for the public landing page.
MiniFy architecture

Screenshots

🎵 Player Layouts

MiniFy offers multiple compact layouts to fit your workflow. Each layout is designed to be minimal yet functional.

Layout A — Horizontal compact view
MiniFy Layout A
Layout B — Vertical card view
MiniFy Layout B

🤖 AI DJ Integration

Your personal AI-powered music assistant. Connect your preferred AI provider and let it analyze your listening habits, recommend songs, and control playback through natural conversation.

AI DJ Chat — Natural language music control
AI DJ Chat Interface

Ask for recommendations, play songs, or analyze your music taste

AI DJ Preview — Context menu access
AI DJ Preview

Supported AI Providers:

  • OpenAI (GPT-4o Mini)
  • Anthropic (Claude 3 Haiku)
  • Google AI (Gemini 1.5 Flash)
  • Groq (Llama 3.1 8B)

⚙️ Settings & Customization

Full control over your MiniFy experience through a comprehensive settings panel.

Connections — Music & AI Provider Management
Settings - Connections

Connect Spotify and AI providers with secure API key storage

Appearance — Layouts & Built-in Themes
Settings - Appearance

Choose from multiple layouts and pre-built themes

Theme Studio — Create Custom Themes
Settings - Theme Studio

Design your own themes with the built-in JSON editor

Customization Features:

  • 🎨 Multiple built-in themes (Dark, Light, Spotify Green, etc.)
  • 🖌️ Custom theme creation via JSON
  • 📐 Switchable player layouts
  • 🔐 Secure credential management

Project Structure

  • apps/desktop: Tauri 2 desktop app using React 19, Vite 7, and Tailwind 4.
  • apps/www: Next.js 15 site for marketing and downloads.
  • packages (empty today): reserved for future shared libraries.
  • Root tooling: Turborepo orchestrates tasks, Biome handles lint/format, pnpm powers the workspace.

Getting Started

Prerequisites

  • Node.js >= 18 and pnpm 9.
  • Rust toolchain with the platform-specific Tauri prerequisites.
  • Spotify Developer application to obtain a Client ID.

Setup

  1. Install dependencies: pnpm install
  2. (Optional) Install Git hooks: pnpm dlx lefthook install
  3. Have your Spotify Client ID ready; the desktop app will ask for it on first launch.

Running Locally

  • Desktop app: pnpm desktop:dev
    • First boot asks for the Spotify Client ID, performs OAuth, and lets you pick layout/theme.
  • Web site: pnpm www:dev
    • Starts the Next.js site (default port 3000).

Scripts

  • pnpm dev — run workspace dev tasks via Turborepo.
  • pnpm desktop:dev — launch the Tauri app in dev mode.
  • pnpm desktop:build — create a production desktop bundle.
  • pnpm desktop:clear — clear all credentials (Spotify tokens, AI keys) and settings.
  • pnpm www:dev — start the Next.js site.
  • pnpm www:build — build the Next.js site.
  • pnpm lint — run Biome checks across the workspace.

Tech Stack

  • Desktop: Tauri 2, React 19, Vite 7, Tailwind CSS 4, Spotify Web API.
  • AI: Vercel AI SDK with OpenAI, Anthropic, Google AI, and Groq support.
  • Backend bridge: Rust + Tauri commands for OAuth, secure keyring storage, and playback actions.
  • Web: Next.js 15 with React 19.
  • Tooling: Turborepo, pnpm, Biome, Lefthook.

Security Details

All sensitive credentials are stored in your operating system's secure credential manager:

Platform Storage
Windows Credential Manager
macOS Keychain
Linux Secret Service

This includes Spotify tokens and AI API keys. No credentials are stored in plain text files.

Links

Resource URL
🌐 Website minify.skeptic.run
📚 Documentation minify-docs.skeptic.run
⬇️ Downloads GitHub Releases
🐛 Issues GitHub Issues
📋 Roadmap Project Board
💬 Discord discord.gg/haNyuz2zQ5

Dependency Management

This project uses Dependabot to keep dependencies up-to-date automatically.

Enable Dependabot (Repository Admins)

  1. Dependency Graph — Go to Settings → Security → Code security and enable "Dependency graph"
  2. Dependabot Alerts — Enable "Dependabot alerts" for security vulnerability notifications
  3. Dependabot Security Updates — Enable "Dependabot security updates" for automatic security PRs
  4. Dependabot Version Updates — Already configured via .github/dependabot.yml, runs daily at 04:00 CET

Covered Ecosystems

Ecosystem Directory Description
npm / pnpm monorepo (all JS/TS packages)
cargo /apps/desktop/src-tauri Rust/Tauri dependencies
github-actions / GitHub Actions workflows
docker /apps/docs, /apps/www Docker base images

License

Licensed under the MIT License. See LICENSE for details.

About

MiniFy is an enhanced Spotify mini player that seamlessly integrates into the Spotify UI. Using custom CSS, delivering a clean, lightweight, and truly native-feeling mini player experience—no extra windows or clunky overlays, just a smooth, integrated workflow.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •