Spotlightify

A cross-platform GUI application designed to streamline user interaction with Spotify, featuring quick commands and efficient playback control.

Built with:

Go
TypeScript
React
Wails

Spotlightify is a GUI-based application designed to allow users to quickly interact with Spotify playback across Windows, Linux, and macOS. Created with simplicity and efficiency in mind, it enables seamless music control without navigating through Spotify's native interface.

Key Features

  • Universal Command Interface: Quick access to all Spotify functions through simple commands
  • Cross-Platform Support: Seamless operation across Windows, and macOS. Linux support coming soon.
  • Resource Efficient: Optimized performance with minimal system impact
  • Community Driven: Open-source project with 200+ GitHub stars and active community involvement

Command Interface

Spotlightify provides an extensive set of commands for complete Spotify control:

List of features and functionality

| Name            | Description                                      | Keyword           |
| --------------- | ------------------------------------------------ | ----------------- |
| Play            | Find and play a song                             | play              |
| Queue           | Find and queues a song                           | queue             |
| Playlist        | Find and play a saved/followed playlist          | playlist          |
| Album           | Find and play a saved album                      | album             |
| Artist          | Find and play songs from a saved/followed artist | artist            |
| Liked           | Plays saved/liked music                          | liked             |
| Volume          | Changes music volume                             | volume            |
| Go to           | Seeks a position in a song                       | goto              |
| Resume          | Resumes music playback                           | resume            |
| Skip            | Skips the current song                           | next              |
| Previous        | Plays pervious song                              | previous          |
| Pause           | Pauses music playback                            | pause             |
| Shuffle         | Toggles shuffle playback                         | shuffle           |
| Device          | Select device for music playback                 | device            |
| Repeat          | Toggles repeating modes                          | repeat            |
| Current Playing | Provides currently playing song info and sharing | currently playing |
| Authenticate    | Authenticate with Spotify                        | Authenticate      |
| Exit            | Exits the application                            | exit              |

Technical Implementation

The application is built with a focus on performance and efficiency:

  • Application: Created with Wails, a framework for building cross-platform desktop applications with Go and Web technologies.
    • Go for the backend
    • React with TypeScript for the frontend
  • CI/CD: GitHub Actions pipeline for automated testing, building, and release management
  • Distribution: Automated versioning and release distribution across platforms

Development Approach

As the project lead, I focused on several key areas:

  1. Architecture: Designed for performance and resource efficiency across platforms
  2. Community Building: Fostered an active developer community and managed contributions
  3. Quality Assurance: Implemented comprehensive testing and CI/CD workflows
  4. Team Coordination: Delegated tasks and coordinated development efforts effectively

Impact & Recognition

  • 200+ GitHub Stars
  • Active open-source community
  • Successful cross-platform deployment
  • Positive user feedback and active usage

Future Development

Ongoing development focuses on:

  • Expanded platform support
  • Enhanced performance optimizations
  • Additional playback control features
  • Community-requested features
  • Improved user experience refinements