Spotify + open-source Slack integration combined to make an awesome jukebox that allows teams to collaborate on office music

Maestro branding

Slack as a UI

Playing music in the workplace can come with all sorts of complexities. How do you choose music that everyone likes? Who’s in charge of determining the playlist? How do you ensure it’s not disruptive to productivity? We set out to create jukebox app that would enable the entire workforce to curate and manage the office playlist.

We created Maestro to allow our team to easily control their audio experience throughout the day. Simple commands allow us to select songs and playlists, and adjust the volume as the day dictates.
Nick Jordan, CEO

Building a Conversational UI

In addition to having beer on tap and allowing dogs to hang out, we also play music over office-wide speakers to enhance the collaborative vibe. Since our internal IM tool, Slack, tends to house a lot of our out-of-meeting conversation, we thought it’d be a great place for us to integrate our music selection source. This resulted in us building Maestro, a Node.js open-source application that integrates Slack with Spotify. Maestro allows groups to collaborate on the music being played from an output source using nearly 20 different Slack commands to queue songs, create playlists, control the volume and even skip and vote on songs to ban.

To ensure Maestro received the attention it deserved, we created a brand around what was once just labled "office music." This brand came to life through a landing page we built to support the initiative, a momentary Snapchat filter targeted at our local tech community and seeding through relevant open source communities.

Commits on GitHub
Crowd-sourced songs on the office playlist
Views on the American Tobacco Campus targeted Snapchat filter

How We Did It

Product Strategy, Branding, Design, Custom API Integration, Node.js Development, Custom chat bot development


Branding & Product Design

Our office playlists tend to be random and wide ranging, yet familiar and we wanted the the brand to reflect that. At its core, Maestro is a simple code base that leverages Slack and to play Spotify over the loudspeakers. It was important not to lose sight of that simplicity and fun. Playing on the idea of a personal robot assistant with an unlimited catalog of songs at the ready, we set out to create a musical savant that was representative of our office culture. The animated word mark makes use of a monospace font that harkens back to more rudimentary computers of the past, stripping away the finishes of modern browsers and operating systems. The uneven baseline, and the scrolling animation itself, mimics the random nature of the playlists.

Node.js Development + Internet of Things

The development of Maestro was started by forking an existing coffescript codebase called Crispify, which was built to run on a Raspberry Pi. After a few hours of coding, our team was able to migrate a majority of the functionality over to work on a Macbook Air. By leveraging OSX terminal commands, we enabled Maestro to provide our office the ability to not only control what music was playing, but to also control the volume. Using Node.js and a comprehensive Mocha test suite, we were able to quickly evolve the bot to allow for features and functionality that were more in line with Smashing Boxes’ company culture, such as queuing and banning songs. Since Maestro diverged so far away from the original codebase, it’s now maintained as a completely unique Spotify/Slack music integration experience.

Check It Out

Visit Site

Share this Page


  • API
  • branding
  • Design
  • product strategy

Meet Maestro: Your custom Slack bot for tunes at work. is a Labs Project. View All Labs Projects

Featured Work

Careers at Smashing Boxes

Open Positions

We don’t just make great products, we help build great companies.

Contact Us

Get exclusive access to Smashing Boxes news, case studies, and events.

Sign up now
close ×

Get exclusive access to Smashing Boxes news, case studies, and events. Sign up now!

* indicates required