Inspiration
We thought it would be good to create a system which would find songs that would trend in the coming days/weeks, so you can be ahead of the curve on music.
What it does
We have built a 'crystal ball' with a 3d printer, which when rubbed predicts a song which is likely to trend in the coming days/weeks.
How we built it
We scraped Tiktok and music data, and did feature engineering to train a light gradient boosting (LGB) model to classify if a song was going to be a hit outside of the Tiktok space, and if it was going to get popular soon. We used an arduino with a infrared sensor to sense for when someone was rubbing the crystal ball, and this pinged the computer to predict which song would trend, which we found by looking at trending Tiktoks, the songs they used in them and put them into the LGB to try to see whether they would trend. The song that would trend the best is then shown on the laptop screen.
Challenges we ran into
The spotify api wasn't working well so we had to do a large amount of feature engineering to get the same data output. We also struggled to get connection between the laptop and the arduino over wifi due to uni wifi restrictions, and ultimately decided to cable them together.
Accomplishments that we're proud of
The gradient booster had a ROC-AUC of >0.95 on training data, and the crystal ball is responsive and works well. The frontent on the laptop also worked really well and looked very professional/
What we learned
We've learned about how to use CAD to 3d print, and how to use gradient boosters, and we've learned more about data pipelining. We've also learned how to program an arduino to interact with external stimuli.
What's next for Niche Machine
Try and improve our data sources for the LGB, and making the connection between the crystal ball and the laptop wireless. We ultimately would also like to add a display to the crystal ball, as well as a speaker.

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