Completing your app

Your turn...

We've now touched upon all of the various components used to create the Seeder app. It's time for you to see what you can build!

Remember that we have the MixTape template and the completed example to work from.

... and if you get stuck or just want to see how Seeder works, here's the repl.

Some ideas

  • could you make your app re-generate tracks after every vote, storing the chosen tracks to make a playlist?
  • could you restrict your app to specific users only, and modify the voting time period to be more or less frequent?
  • could you add functionality to allow a user to specify any seed track?
  • could you use images or videos from another API such as the Unsplash API or the YouTube API?

It would be great to see any new apps which have been made from this starting point!

Seeder specifics

Most of the code in the various files in the repl you'll have seen before, with a little extra logic sprinkled in for the specifics of the app:

  • whenever the page is requested for the first time on a given day, a request will be made to the Spotify API for new recommendations (see main.py)
  • the seed track will be the track with the most votes on the previous day, or if there's a tie a random pick will be made from the ties (see seeder.py)
  • some different chart types have been used, with various customizations using chartify and bokeh.figure parameters, and track features renamed (see charts.py)
  • the gunicorn web server is used, which allows a timeout to be set, sufficient for creation of the new charts (see the .replit file)