SpotiFriend
SpotiFriend IOS App
Location based music discovery/playlist app. Users place custom markers on the world map, and can search for other playlist markers created by users. Playlist markers only appear if the user is in range of them, thereby creating incentive to explore areas around the globe and discover their musical tastes. Each playlist is linked to a Spotify playlist, and when tapped will take the user to that playlist and begin playback.
Master playlists are curated playlists that are location specific and are intended to be a taste of that areas musicical talent. User playlists can be placed anywhere, by any user, and can contain any music style. The master playlists stay on the map indefinitley, while user generated markers will be deleted weekly. This ensures the world map remains usable over time.
I developed this app to learn IOS App development tools: xCode, Swift, Firebase, and swiftUI.
User Profiles
Each user can create their own profile which allows them to post playlists to the world map. Users can change their profile picture, which will change the annotation that is placed on the map when they create a playlist (as seen above).
Users also have two score features that track the amount of playlists that they have created, as well as the amount of playlists that they have discovered.
Adding Playlists
A user can add a playlist to any location on the world map - they do not need to be there physically. This allows users the ability to share their music passion globally - without the need for travel.
However, users can only see playlists that are near their physical location - which maintains the main theme of location based music discovery.
Firebase Usage
The key tool behind th eentire app is Firebase - a Database provided by Google. I became quite adept at using this service as it handles: user authentication, all map data, all userInfo, and all playlist data. Firebase user authentication is wonderful and made creating profiles/log in/sign up seamless and easy. The Firestore Database is used to handle all userInfo, and playlist data - such as location, date created, author, titiel, etc. Finally, I used the Storage feature to store the user's profile pictures.
I also adopted a simple node JS script to easily upload all of the many curated master playlists. This provided a fast scalable way to import large amounts of data. Firebase also offers plans that scale with the size of the project from free -> paid. I cannot recommend this service enough, and I am extremely glad that I learned hwo to use it effectively.
Core Idea
This app is designed to implement an easy way to explore the music of any region that a user is currently in. For example, while on travel a user can look to see the playlists being shared near them, to get a preview of the local music scene. The user can also find the curated playlists which are more formal introductions to local artists.
This is also a platform that will hopefully generate a community of passionate music lovers who use the app to share music tastes gloablly. Any user can place their favorite playlist at any location, and can therefore share their best playlists to other users around the world. I hope the app will be used to share music styles across great distances and create a community from people who would otherwise just be strangers.