MLH INIT Day 1 Challenge: Create a Playlist Generator!

Inspiration

I have found Taylor Swift's music to be a form of therapy in itself since I was twelve. Besides offering a rich, raw and incredible lyrical and musical experience, her music also expresses a wide variety of emotions and moods. I believe that there is a T.S. song to suit every state of mind, and there is nothing that I cannot get through with a well-crafted playlist of T.S. music. Hence, I built my own version of a playlist generator that puts together a playlist of T.S. songs based on how I'm feeling at the moment.

What it does

  1. The user can choose up to 3 options in a form to express their mood.
  2. Based on this response, a playlist with T.S. songs with matching moods will be generated.
  3. Each song will be linked to its respective YouTube video (for now).

How I built it

I used Svelte as my front-end framework.

Challenges I ran into

  • Time Constraint: This project is a basic beginner-level trial and FAR from perfect. There is so much more functionality that I wish to provide, which I have listed in the last section. However, I was unable to complete these within the 24-hour limit on the MLH INIT Daily Challenge.
  • Writing CSS from scratch: I prefer to use a CSS framework such as Bulma at hackathons. However, I realized too late that integrating Bulma into a Svelte app is not as easy as I thought it would be. Hence, I had to ditch that plan and design and build the UI from scratch, which I found time-consuming.

Accomplishments that I'm proud of

  • This is my first solo and official hackathon/challenge/project submission!
  • This is also my first time using Svelte to build a project!
  • Although this is only a prototype, I was able to finish comfortably on time. This was not the case with my previous hackathon (yikes!).

What I learned

  • Keeping things simple really helps in laying a solid foundation to any project, big or small.
  • Coding is so much more fun when you deal with something that you are passionate about!
  • I need to learn back-end web development and so much more to be better equipped to build projects that will actually be useful in real life, especially while working solo.

What's next for GenSwift

I consider this only a foundation for the project. There are a LOT of improvements/additions that I wish to make:

  • Provide T.S. songs from all of her albums in the playlist, preferably taken from an external, updated database (only folklore and Lover are currently available/hard-coded)
  • Use Spotify API to create a playlist with these songs, which the user can stream at Spotify
  • Provide music player functionality in the website, with which the user can stream the playlist without having to navigate elsewhere
  • Improve the mechanism/logic for generating playlists based on the user's mood, such as semantically matching similar moods/feelings
  • Improve the UI (responsiveness, smoother transitions between pages, adding album art, etcetera)
  • Provide more questions and options to users (such as album, genre, etcetera) to better curate a customized playlist

Built With

  • svelte
Share this project:

Updates