Team Name
Silk Sonic
Timeline
Fall 2023 – Spring 2024
Students
- Gustavo Chavez
- Patrick Arzoumanian
- Abraham Mookhoek
- Spencer Whitehead
- Ahmed Ullah
Abstract
The concept of Track Records, a music analytics web application, is to offer a variety of data analytics tools in an easy and intuitive form. Users will be able to utilize these tools in order to look back on their Spotify listening habits. The data in question relates to each user’s provided music streaming history. Users will be able to understand their listening habits by utilizing our application’s data visualization as well as keep a detailed journal of their musical history. To make this possible, some key requirements include a calendar interface to visualize the user’s listening history, a data visualization interface to provide another visual representation of other fringe statistics, and a Journal interface to provide users a way to document their thoughts on a given day of listening. To achieve these requirements, the scope of our project will be primarily based in popular web-development technologies such as Firebase databases and next.js. Since our web-app is user focused, we will also be handling the authentication of their Spotify accounts as well as a database to store their data.
Background
The musical availability offered by streaming services have given listeners a great deal of freedom in how, when, and where they listen to music. Despite this, these services are lacking in retrospective features. Music streaming services store a great deal of data for each of their users. Unfortunately, this data has been severely underutilized for the purposes of offering clarity to users. Currently, music streaming services do not offer a simple or intuitive way to see how one’s musical interests have evolved over time. Certain features like Spotify Wrapped offer some information on users’ listening habits, but a great deal of this information is left untouched. This is a problem for anyone hoping to better understand how they listen to music.
Consider an instance where someone wants to know which of two specific artists or songs they listen to more. Perhaps they want to know how varied their listening has been in terms of genre, artist, or some other metric. As of right now, these individuals are left to determine all of this without the help of their streaming services. It would be unreasonably cumbersome for a person to constantly track when and what they listened to. Yet this is what someone must do without the assistance of a dedicated set of music analytics tools.
Some have already tried to remedy this predicament with their own web apps. These products offer analysis on users’ listening metrics, but they do not capitalize on the personalized nature of this data. The focus of these services is simply to provide metrics, not to relate this information to the user’s individual experiences. Furthermore, using preexisting apps to see these statistics will only offer the data, not focusing on how to use this information to encourage personal retrospectives. This problem presents a unique opportunity for those capable of accessing music streaming service APIs. By collecting user data and storing it for users, one could provide easy access to a wealth of information through data visualization. Although this is a service offered by a handful of other web applications, there is still an untapped market. The people who want to utilize these statistics for the purpose of reminiscing on their past with music and to document this musical journey have yet to be catered to. This will be the target market for Track Records.
Project Requirements
- Login/Registration Page : If not logged-in, when users open the web-page, they will be met with a login/registration screen. This will simply prompt the user to either create a new account or to login with an existing one. An account is essential since our servers will need to store the listening history of each individual user.
- Calendar Interface : Upon login, the user will be met with a calendar view interface. This view will show users information about when songs were added to playlists, which dates have journal entries, and more. The calendar will show the current month by default.
- Journal Interface : The journal interface will present users with a list of entries already added to the journal as well as a button that lets users create a new entry. When viewing an individual entry, the user may make edits or return to the entry list.
- Statistics/Data Visualization Interface : The data visualization interface will present users with a set of drop-down menus used to determine graph-type, data metric, as well as individual data entries. Once all of the parameters have been selected, a visual representation of the selected data will be presented to users.
- Settings Interface : The settings menu will show users a series of editable options in relation to the user’s account, linked streaming services, the data stored on the product’s servers, and more. The view will consist of a vertical list on the left of the screen accompanied by a main panel. Each settings category will be selectable on the vertical list, with the corresponding options being visible on the main panel of the screen.
- Endpoint Reliability : The processing server will contain multiple endpoints to query data depending on the user’s action. The client side of the application is highly dependent on the data that it receives through the use of internal endpoints, as well as external applications.
- Database : This product will use Firebase as its database of choice. This will be where user data, such as listening history and account info, will be stored.
- Customer Setup/Configuration : Since the product is a website, little setup is needed on the customer side. However, to be able to access the majority of the site’s features, the user needs to have a premium subscription to Spotify and log in with their account.
- Error Correction : To find, address, and fix any system flaws that may emerge during use, proactive methods must be put in place. This covers unexpected software abnormalities such system crashes, bad data processing, and others.
System Overview
Track Records will be structured with three layers, Client-Side, Business, and Data. Each of these layers combine to create a cohesive system capable of providing an intuitive and responsive experience for the user.
The user interface of a website that allows users to communicate with our web server via a browser is known as the Client-Side Layer. In order to show the data that the client has requested, the client-side talks with the server to send HTTP requests and receive HTTP responses to display the requested feature back to the user. Our web-app has many sub-components such as the login view, calendar view, journal view, and the settings view.
The business logic of the web application is managed by our Business Layer. It is made up of models, controllers, and services that carry out the functions for user requests. To retrieve or modify data as needed, the business layer communicates with our Data layer. It also houses our web service API which is primarily responsible for communicating back and forth between our Client-Side and Data Layer. Our Data Layer houses the storing, querying, and requesting of data from either 3rd party APIs or the database service itself. While the 3rd party APIs are queried via our database connection housed in our back-end, our data is stored securely server-side. This layer can also house our web-app’s project files.
Track Records System Architecture:
Results
Track Records has successfully implemented the essential interfaces– Calendar View, Journal View, and Statistics View— enhancing user engagement and understanding of their music listening patterns through detailed analytics.
Calendar View Interface:
Journal View Interface:
Statistics View Interface:
Future Work
Future enhancements will include integrating with Apple Music to extend to our user base improve the app’s functionality, offering a more comprehensive music analytics experience.
Project Files
Project Charter (link)
System Requirements Specification (link)
Architectural Design Specification (link)
Detailed Design Specification (link)
Poster (link)
References
- G. V. R. Staff, “Music streaming market size & share analysis report, 2030,” Jul 2023.
- Eggertsen, “How does spotify wrapped work?” Dec 2021.
- LastFM, “Explore top music powered by your scrobbles,” 2023.
- S. Staff, “Stats.fm,” 2020.
- A. Olivero and N. Patel, “Obscurify music.”
- A. Aufrichtig and E. Lee, “Discover quickly,” 2019.