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.

Report Bug · Request Feature · Project Board

TypeScript 5.8 React 19 Tauri 2 Vite 7 Next.js 15 Tailwind CSS 4 Spotify API 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

  • Spotify OAuth flow with secure token storage and automatic refresh.
  • Three player layouts (A, B, C) with a layout switcher and theme presets.
  • Playback controls, scrubbing, and save-to-library actions powered by the Spotify API.
  • Native context menu with quick access to settings, debug tools, and window controls.
  • Keyboard-friendly design with configurable shortcuts and a drag-safe window region.

Roadmap

Architecture

  • Tauri shell hosting a Vite + React UI for the player.
  • Rust commands manage OAuth, token storage, and Spotify Web API calls.
  • 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

Show screenshots
MiniFy Layout A
MiniFy Layout B

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 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.
  • Backend bridge: Rust + Tauri commands for OAuth, token storage, and playback actions.
  • Web: Next.js 15 with React 19.
  • Tooling: Turborepo, pnpm, Biome, Lefthook.

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