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
- The user can choose up to 3 options in a form to express their mood.
- Based on this response, a playlist with T.S. songs with matching moods will be generated.
- 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

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