Abstract

Last.fm is a website that tracks its users' music listening data, and is known for making that data available for developers to create informative web applications with it. This project seeks to create the Last.fm Popularity Calculator, an application joining this ecosystem, with a slight twist: obtaining certain data via web scraping that is unavailable through the site's official channels. The software seeks to accept a user's recent listening history and provide them with a breakdown of how popular the artists they listen to are. This paper maps out and discusses the key conceptual subjects that go into the creation of the application: application programming interfaces (APIs), which connect discrete systems or internal components; web scraping and how to navigate its inherent legal and ethical challenges; software design and the architecture of different components in a single system; database systems and what type of system would be most useful to this project; and how to design and render informative data visualizations. The implementation of the software is then described. The frontend is able to accept an input file from the user and send it to the backend to handle the web scraping and processing of the collected data. Certain data is cached in a database, and the results are returned to the frontend to be rendered by the user's browser into a scatterplot.

Advisor

Guarnera, Drew

Department

Computer Science

Disciplines

Data Science | Software Engineering

Keywords

Software, Web Development, Web Application, Web Scraping, Full Stack Development, ReactJS, Music, Music Streaming

Publication Date

2026

Degree Granted

Bachelor of Arts

Document Type

Senior Independent Study Thesis

Share

COinS
 

© Copyright 2026 Andrew Fischer