Cross Platform Playlist Sharing App - cs428TAs/w2023 GitHub Wiki

Proposal

Last semester for another class I started working on a React Native & Typescript mobile app to make it easy for people to share music playlists with each other regardless of what streaming service they use (e.g., Spotify, Apple Music, etc.). The app mostly used dummy data that I grabbed from Spotify's public API, but I'd like to actually build a full-stack application that implements everything with live data.

Tech Stack

  • Front-End: React Native/Expo with EAS
    • If you aren't familiar with React Native and Expo, it's a pretty easy learning curve (especially if you've used another reactive js framework)
    • EAS handles building and publishing your app really seamlessly and I've liked working with it in the past
  • Back-End: REST API...probably a fairly simple mongo/express that stores playlist metadata for users and acts as a facade/proxy for existing public API's like Spotify and Apple Music.
    • I'm also open to an AWS serverless architecture using NodeJS or python

Existing App Prototype/Concept

I'm totally willing to start over from scratch, but if you want a better idea of what something like this could look like, I have (semi) working prototype hosted on Expo.

The easiest way to run the prototype is to install the Expo Go app from the app store and open the following link on your phone: (I've found the easiest way is to text the link to yourself then click on it there)

exp://exp.host/@dallinhuff/fermata-ts

Spotify Account

To sign in and use the app, you'll need a Spotify premium account (I haven't implemented the Apple Music authentication/api). I also will probably need to add your Spotify account as an approved account for the app since Spotify limits the number of accounts that can access its API while an app is in development. If you want to check it out, ping me on discord with your Spotify username and I'll add you to the beta.

Interested

Dallin Huff

Ren Strauss

Conner Hammond

Jacob Christensen

Adam Gardner

Jared Canizales

Cori Nally

Jacob Munyan