Inspiration
We wanted to play music at HackTX, but puny laptop speakers can't fill a five-star hotel. A legion of microspeakers, however... a first estimate puts around a couple thousand devices in the area.
What it does
Thunderfly - syncing multiple audio devices like fireflies do light - is a web application. A host starts a lobby of sorts, can select an MP3 song hosted elsewhere on the internet, and is given a 5-letter code to share. Any other device with the code is synced to the main server. At the host's command, magic happens, and all devices begin to play the same song, in sync, for maximum decibels.
How we built it
A Flask application runs on a Heroku instance. It serves HTML/Javascript/CSS to each client. The host and every other device client communicate only with the Flask server.
Challenges we ran into
Javascript timing is, um, poor. After hours of work, we still can't get audio start deltas within more than a second or so, which means there will always be some disharmony in the orchestra. Ah, well. Oh, Javascript...
Accomplishments that we're proud of
On the other hand, we can generate some pretty big decibels.
What we learned
Um, how to build web apps. First time for both of us. And Javascript sucks.
What's next for Thunderfly
Commercialization! (nah. It'll be on GitHub for the next interested party to take on)


Log in or sign up for Devpost to join the conversation.