Spotify Dashboard

A dashboard to display my top 10 artists, songs, and current listening.

Building My Spotify Dashboard

The Idea

I wanted to work on a project that would push me outside my comfort zone by incorporating technologies I’m not super familiar with. The goal was simple: create a personal dashboard that displays my current listening activity, top 10 artists, and top 10 songs using Spotify’s API.

Challenges

Diving into this project, I ran into a few hurdles:

  • Authentication & Scope Issues – Getting the right permissions set up for Spotify’s API proved trickier than expected. Certain data required specific scopes, and I had to navigate OAuth callbacks carefully.
  • Fetching the Right Data – Understanding how to structure API requests to pull exactly what I needed while ensuring I had the right permissions was a learning curve.
  • New Framework & Deployment – I was working with a framework and deployment method I wasn’t entirely comfortable with, which meant a lot of trial and error.

Building the MVP

Despite the initial roadblocks, I managed to get a minimum viable product (MVP) up and running fairly quickly. At this stage, it was just a simple, unstyled page displaying:

  • My currently playing track
  • My top 10 artists
  • My top 10 songs

No fancy UI—just raw functionality. The next step was making it look good and adding some extra features to improve the experience.

I styled the dashboard with Tailwind CSS, and while I got it looking fairly decent, I’ll be the first to admit I’m not a UI designer.

Ideas for Improvement

With the MVP in place, I can think of a few ways to enhance the project:

  • Better Styling – A clean, polished design with a more cohesive theme would make the site more enjoyable to use.
  • Listening Stats – It’d be interesting to track how many times I’ve listened to each song or artist.
  • Spotify Links & Previews – Clicking on a song or artist should open Spotify, and embedding 30-second previews would add a nice touch.

I will probably revisit this when I get the chance and add these improvements and more after I have some more experience with the technologies I’m using.