Inspiration

To empower artists by providing a platform that helps them better understand their audience and unlocks opportunities for self-promotion through influencer collaborations. Also, introduce users to a new realm of music, revealing worlds they never knew existed.

What it does

Our project enhances user engagement on TikTok by introducing new features for both artists and users.

For artists:

Analytics System: Provides detailed insights about the audience, including how much of their music is being listened to (10%, 20%, ... 90%) and the listeners' countries of origin. This helps artists understand audience demand. Influencer Collaboration: Suggests top influencers from specific countries who release content in similar genres, enabling artists to increase their viewership through strategic collaborations.

For users:

Friendship Feature: Allows users to make friends on the platform, fostering a more social experience. Recommender System: Suggests songs from genres users haven't previously explored but are being listened to by their friends. As users interact with the platform, the system continuously updates to recommend music from other genres, enhancing their musical discovery journey.

How we built it

We built the app in two stages: artist side and user side. Each feature is a separate Flask app, utilizing SQLite3 synthetic databases, with the frontend created using HTML and CSS.

Artist Side: We generated an Artist table consisting of artist ID, track ID, and genre. Another database stores all user analytics, including track ID, frequencies of the percentage of songs heard by the user, user ID, and user country. These two tables are located in separate databases. SQL queries are written to extract necessary records according to the provided filters. These records are used for user base analytics.

For influencer collaboration, we developed an influencers database synthetically. The schema includes Influencer TikTok ID, average likes, genre, and country. Given the genre and country, the top influencer recommendations are provided.

User Side: We created a "Local Collaborative Filtering recommender system" to recommend songs from genres not frequently listened to by the user but highly valued in the user's friends' network. For this, we synthetically created a friends network and a database with user ID, track ID, and genre. We initialized a matrix with values according to the percentage of songs heard by each user in the network and maintained a frequency vector for the user. This vector increments the genre value by one after each stream. If any genre crosses 20% of the maximum frequency vector, we remove that genre from recommendations until the remaining genres catch up with the frequency of the top unheard genre or diversification genre. This method pushes the user to explore new genres from the friends network, indirectly helping the artist as well.

Challenges we ran into

During the execution of the project, we faced several challenges, with the primary one being the selection of a recommender system algorithm that could suggest songs from different genres, unlike standard systems that typically narrow down preferences. To overcome this, we incorporated a feature where users could have friends on the platform, inspired by real-world scenarios where friends recommend songs to each other. This feature allowed us to gather information about songs from genres the user might not usually explore, based on their friends' listening habits. We then utilized a collaborative filtering algorithm to predict scores for these songs, taking into account the user's previous behavior and preferences. By doing this, we ensured that the recommendations included songs from various genres, not just the user's frequent choices. The algorithm was fine-tuned to prioritize songs with the highest predicted scores across different genres, thereby ensuring a diverse mix in the recommendations. This approach allowed users to discover new music influenced by their friends' listening patterns while still aligning with their broader taste spectrum, creating a more engaging and varied music discovery experience.

Accomplishments that we're proud of

We successfully created a comprehensive application system for both artists and users. On the artist side, we developed a simple, attractive UI that helps artists understand their audience and find influencers to boost their reach. On the user side, we implemented a unique recommender system that suggests songs from genres users haven't explored but are popular among their friends, making it likely that the user will enjoy them as well.

What we learned

Throughout this project, we learnt about flask tool and gained valuable insights into recommender systems. We delved into understanding the various hyperparameters involved and how they impact the model's accuracy. Adjusting parameters such as similarity metrics, regularization factors, and learning rates significantly influenced the system's performance. Additionally, we observed how the recommender system dynamically adjusts to user activity over time, continuously updating recommendations based on evolving user preferences and interactions. This hands-on experience deepened our understanding of personalized recommendation algorithms and their practical applications in enhancing user engagement and satisfaction.

What's next for MUSE

Moving forward, we plan to enhance the Artist Dashboard by integrating advanced analytics such as "User Base Interests." This feature will provide artists with insights into the genres and tracks favored by their audience, empowering them to make informed creative decisions that resonate with their fan base. On the user side, we aim to expand our diversity recommendations by incorporating additional features such as artist names, spectral characteristics, and language preferences. These enhancements will enrich the user experience by offering a broader range of music selections that reflect local and global musical diversity.

Share this project:

Updates