(Van) Inspiration came from Spotify's weekly recommended personal playlist and IBM BlueMix's Personality Insight. I always thought it was cool that Spotify was pretty spot on about matching what songs it matched with me, so I thought what if we could match people not based on their song tastes or genre they listened to, but values and ideas which transcend musical genres. Personality Insight analyzes a given text based on connotation and word choice, so I thought it'd be an interesting idea to approach.

What it does

The user types in song names which load songs via Spotify API, and are then are sent to lyrics-fetcher asynchronously. All the song lyrics are reduced into one big blob of text and then sent off to Personality Insight to analyze. After this, The user's row in the database gets updated and then is compared with other users. The user is shown a list of other similar users, and can click to match with them. If two users match with each other, they are able to send each other a text via shoutpoint's SMS API.

How I built it

Used Bangular, a Yeoman angular generator, as a boilerplate. Async calls Spotify's API to gather up songs, lyric-fetcher to fetch lyrics (surprisingly). IBM's Bluemix with Compose to utilize a PostgreSQL database. Shoutpoint to text users.

Challenges I ran into

Shoutpoint's API gave us a little difficulty at a point. Also the shaky internet connection at the eSports Arena didn't help either, when our entire app is web-based.

Accomplishments that I'm proud of

Setting up a PostgreSQL database, getting all the APIs to work together

What I learned

That staying up for 36 hours doesn't make you as tired as you think it would

What's next for smartLyric

Use Spotify's oAuth to be able to use your personal playlists to upload to lyric-fetcher Hosting on the internet and not on my potato laptop

Share this project: