Written by Caleb Caviness - 1/29/2025
I remember I was in a call with a couple of my friends and I was talking about how we used multiple applications such as Reddit, Instagram, Twitter, Soundcloud, etc. to discover new music. My friends and I love music and we participate in a lot of music related activities such as listening parties, debates, tier lists, aux battles, etc. So, I coined an idea to create an application that is solely music focused. Not sure what tech stack I would use, but I knew that I wanted to build this as a Web application first.
Around this time I started to do research on what API I would use to get music data. So, I looked into three APIS: Spotify, Apple Music, and Soundcloud. Initially I wanted users to be able to choose between the three because I wanted this application to be accessible to everyone. However, I quickly realized that Spotify would be the best option because it has the most comprehensive music data and the most features. The selling point that Spotify has is the Web Player SDK, which allows users to play music from the browser. So for now, I decided to use only Spotify API as part of the MVP.
Here I am looking into what my tech stack is and I know damn well I'm not going to waste my time creating an entire back-end, so I just stuck to what I knew best. For the frontend, the tools that I'm using are Next-JS, TypeScript, Shadcn UI, Tailwind, Prisma, and Supabase. I'm also using Vercel for hosting and deploying the application. Initially, I was going to use next-auth for authentication and Vercel for my database, but I saw that Supabase had that plus real time features which is exactly what I needed for the listening session feature, messaging, notifications, etc.
Here I started to think about what the design for the home page should be. I didn't want it to be just a normal social media home feed where you just scroll. I thought, what if the home feed isn't for scrolling... what if the home feed is just playlist curated by everybody you follow? Around this time, (I don't quite remember since I'm writing this in January) users can play music through the app, users can create posts and the home feed was made.
Didn't do much around this time because I was busy with holidays and then I got sick, BUT I did create a friends list and user online presence. You can also view what your friends are listening to and join them in a listening session.
I started to work on direct messaging and group chats. So far, users can create group chats, edit titles and pictures. You can also see who is currently typing and the messages are real time.