DJ Double S

Made by Hsiao-Ting Hung

Found in Prototyping Bots

Study buddies play Spotify music with friends in Slack Teams


DJ Double S

Who is DJ Double S?

DJ Double S was born to be a music lover. He is 28 years old, native American, a professional DJ who plays guitar, drums, and BBox. Highly educated with an undergrad  major in Pop Music. He updates billboard top 100 every week, enjoying playing right music for people.

What can DJ Double S do?

DJ enjoys playing music for people because he believes music can bring people together no matter what they are doing. He remembers that he likes listening to music while studying but also be curious about what other friends listening. So he'd like to help CMU students who use slack for team discussion to enjoy listening to the right music while studying. Without downloading the App or creating a new account, we can have a more intuitive way to have a Slack bot directly play the music we want especially sharing with friends and exploring more new music.

What's DJ Double S like?

DJ Double S is fun, playful, friendly, and also tech-savvy.

He's very friendly with the heart of HipHop. He enjoys giving opinions toward the music you choose, but his principle is "Please don't stop the Music!"


How does DJ Double S work?

The idea started with personal account at full scale. Then it changed to JukeBox for collaborative enjoyment. Finally, it ended up with simplicity as you can see the evolvement attached below. Basically, DJ Double S greets you with energetic personalities, plays the songs you search either by artist, album, or track. Optional Database could create playlist and save users' preference for future suggestions.


What can DJ Double S really help?

Features desired as below:


Features implemented as below:

- Slackbot Greeting: thoughtful reminder for user to play music within slack

- Search & Play: text search by [artists, albums, tracks] results with spotify within slack and show top 5 results and select & play

- Handle error with server respond: if the song couldn’t be accessed or played

- Handle misunderstanding respond: if the bot doesn’t understand what’s being asked

- Help: provide some help information to a user if they need guidance

Data Diagram

To create a database to store added songs to playlists and then display. Furthermore, it can store users' preference to provide future suggestions.


What are needed to build DJ Double S?

Technical Implementation

- API for Spotify:


- Gem for Spotify:

RSpotify (recently updated):

Code Sample:

Make a jukebox – playlist creation DEMO Code Sample

Shared Spotify playlist (JSON/JAVA) Code Sample 1 Code Sample 2

Benchmark made a node based jukebox for slack Concepts Code Sample

See How DJ Double S Works!

Use Scenario of two users exploring music together via coursebot while studying

Music Bot - Spotify x Slack
Hsiao Ting Hung -

Future Work

- @djbot:

Speak directly only functionalities would reduce irrelevant bot response when talking with other members in team. (Could be used in IF statement for beginning commands"@djbot" or find that particular function in Slack App Console)

- Playlist Database:

The information of song typed in the Slack will be stored in the database. It will let the DJ bot remember the users’ preference while studying and be able to provide suggestions lists later. (Tried but not functioning well)


Spotify Oauth functions provide user account functionality. Directly use the playlist function within Spotify without creating own database to store. (Tried but stuck in the middle of process)

- Interactive Buttons:

More intuitive interaction, reducing the typing actions for user. (Tried but couldn't get it move forward to the next level response or reactions.)


0 to 1 : Code or Die - Engineering time is hard to measure. A small typo or error would make a 0 to 1 difference. Understanding the logic behind is important.

API is powerful : Every API and gem is different, choosing the right one is very  important. Always think about the functionalities I want to achieve, but be more flexible of using tools or methods.

AI rocks: The best UI is zero UI : Might want to try database and interactive buttons those universal fundamentals function to build a bot.

Learn from those more experienced : Thanks for Daragh and all classmates helping me accomplish this fast track. Try to stay calm and time efficient in the future, and expect my learning curve would speed up.


Spotify Web API Overview:

Spotify Bot:

Share this Project


49-714 Programming for Online Prototypes

· 14 members

An introduction to rapidly prototyping web-based products and services. This 7-week experience will teach students the basics of web development for online services. Specifically, well focus on lig...more


Study buddies play Spotify music with friends in Slack Teams


December 15th, 2016