Jazz Discovery - Music sharing app (2019)

This is an unfinished mobile app whose goal was to be a social platform for sharing jazz tunes. You would have an infinite feed of music videos that you could play embedded in the app, with like and share features. Anyone could submit a jazz song by sending a YouTube url. The main “key feature” of the app was that the feed was totally random, as I wanted to be opposed to recommendation algorithms.

Features

  • Infinite randomized display of YouTube embeds, with dynamic querying from the database
  • Like counter
  • User-submitted tunes
  • Content moderation with admin access to approved submitted songs and review reported ones
  • Google Sign-in and user profile
  • Locally-stored list of liked tunes
  • Dark/Light/System app theming
  • Monetization by inserting Google Ads banners in the feed

Tech stack

I was using Flutter for the front-end, and Firebase for the back-end. I was also using the Youtube API and some libraries to embed the videos in the app. Because directly showing the embed caused performance issues, I had to fetch the YouTube cover image instead.

For the random algorithm, I was using a trick: I generated a random number for each user submission and store it in the database. When scrolling, I would then query the sorted database to return the first result after a random device-generated number of my defined range. It was clunky, but I though that at scale it would work (sadly it never got there).

I had prevented users from just submitting any video from YouTube, by using its API to check if the video had a minimum of view, was of the “Music” category and so on…

Reasons for quitting

I had other plans for the app: I wanted to add a user profile so that you could see what others had published and liked, I planned on having a paid subscription for removing ads… However, I found out that my product relied so much on YouTube that it may pose some legal and copyright issues. I also realized an app already existed for general music sharing and was doing what I wanted to do and even more (JamSelect). I noticed how it had a low to moderate success, far from the huge hit my teenager brain was expecting. I used JamSelect for some time, each app launch reminding me of some lessons learned:

  • Do not start with the product but the need (the YCombinator motto basically: “Make something people want”)
  • Analyze the market:
    • Find out if there are competitors doing the same thing
    • Find out if they are successful and their business model
  • Have fun, try and fail fast, experience will imprint lessons theory cannot.

Written in November 2024