(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