Inspiration
Online communication is essential to connecting people and a huge part of our daily lives. When messaging someone, you have probably reacted to their messages with fun emojis or sent a whimsical GIF. Now, imagine communicating with music. Music has become a way people identify themselves with and is a great conversation topic. The average person spends eighteen hours a week listening to music and things like album releases and artists are constantly hot topics on social media platforms. What's missing is being able to respond to your friends with song snippets or searching for similar snippets in a particular category to send to your friends. With Lyricize, we can transform the way we communicate and connect with people! Let's make communication entertaining again!
What it does
Lyricize is an iMessage extension that allows you to quickly send snippets of songs in response to someone you’re texting. It’ll give song snippet suggestions based on keywords from the texts you’re receiving, but there will also be songs categorized into common emotions for ease of access. On top of that, there’ll be a search feature to search specific lyrics and songs.
How we built it
Lyricize is prototyped using Figma (view link below). This is how we imagine the in-app extension to look like on iOS. In the backend, we configured the SmartReply MLKit API using Android's SDK. We plan to move this to iOS but were more comfortable using Java for the configuration as of now. With some pre and post-processing, this generates smart replies to text messages received by a sender. We then take the value of this smart reply and send it to another class that looks and returns all the songs that have lyrics that match with the reply. For this, we created a mini database with a few songs and song attributes, and also a class that searches this database, returning relevant songs. This would complete most of the backend work for song suggestions (except for lots of developer effort configuring the project with iOS). Refer to the "What's next for Lyricize" section for how we plan to finish the backend and frontend work.
Challenges we ran into
- The first obstacle we ran into was refining our idea, since we knew we wanted to do an iMessage extension that was music related, but couldn’t narrow it down enough. However, after speaking with a mentor we were assured that a music reacting feature for iMessage would be more than enough work for a hackathon, so we settled on it.
- The second main obstacle we ran into was figuring out how exactly we’d get suggested song lyrics based on the previous messages. At first, we considered using SmartReplyAPI to get AI responses to messages and then finding lyrics containing those generated responses. However, the responses of this API were too generic and weren’t specific. So, we decided instead to get keywords from the conversation and suggest songs based on the keywords. However, this implementation is still a work in progress.
Accomplishments that we're proud of
- Building our first repo that uses Gradle for development / adding dependencies
- Making good use of APIs for less development effort!
What we learned
Our trio actually participated in DubHacks 21, and we implemented changes this time around that taught us a lot. We learned to have a specific project with a more focused purpose, rather than taking on a huge, overly ambitious task. Speaking to a mentor really solidified this lesson for us, as he guided us to narrow down the scope. We also learned a lot of technical skills, from ML, API usage, more practice with Figma, etc.
What's next for Lyricize
- Instead of generating smart replies to text messages, we predict that song suggestions would be more successful if we were to extract keywords from text messages and look for lyrics with those keywords instead. We plan on looking into this idea more in the future.
- We also want to start the frontend work replicating the Figma prototype. This will primarily be done in JavaScripts / html / css.


Log in or sign up for Devpost to join the conversation.