Tl;dr: I made a website that synchronizes the speed of Gifs to music on Spotify in real time: [https://gifsync.herokuapp.com](https://gifsync.herokuapp.com)
Here is a [demo!](https://streamable.com/ceepu4)
This is definitely a big passion project of mine. It was my first experience with developing a web application, both back-end and front-end, and I've learned a ton throughout this process. I needed a way to synchronize a dancing gif to my music I had playing on Spotify while I streamed on Twitch.
It all sounded simple at first, then I realized I would need a server to send requests to Spotify's API, and so I built a Spring Java application. Although it was clunky and hard to maneuver if you didn't know what to do, it did what I needed it to do and it wasn't really meant to be shared with others. However, after looking over the internet for similar gif-syncing websites/applications, I noticed that they all were... pretty bad. It seems like most websites that provide a gif syncing service forget that gif frame times are [only accurate up to 10ms](https://stackoverflow.com/questions/62136055/syncing-gifs-to-tempo-of-music-results-in-shorter-duration-than-expected) causing your gif to play way faster more often than not.
So to share my creation, I bundled the Java program into a jar, and packaged it into an exe as well. While all of this is great, and it's "functional", it was definitely a hassle trying to get my friends familiar with how to use it. In addition, having your operating system scream "Windows blocked an untrusted application from running" is pretty foreboding. It was at this point I decided to make my idea into a website instead -- easily accessible and you don't have to install sketchy programs onto your computer.
Thus was born **GifSync - Synchronize the speed of Gifs to music on Spotify in real time**
I've spent a long time getting this project as secure, professional, organized, and well-documented as possible. It would really make my day if someone besides myself found my creation helpful or interesting. You can visit the site at [https://gifsync.herokuapp.com](https://gifsync.herokuapp.com) and test it out, and if you wish to help contribute to expanding the project, it is completely open-source at [https://github.com/Septem151/GifSync](https://github.com/Septem151/GifSync) . Cheers!