From Google spreadsheet to Laravel website: Improv Festivals Worldwide
For several years, I was a very active and passionate improviser. I spent a good 6 years learning, rehearsing, and performing as part of troupes, traveling around Europe to attend festivals, and generally living and breathing "Yes, and".
"What is improv?" you may ask. It’s perhaps the nerdiest, most captivating, extraordinary, and sometimes downright horrible theatre art form out there. Look it up!
For two of those years, I was also a proud member of QUAKE, an Athens-based improv collective that organized jams, workshops, and collaboration sessions. Back then, beginners and experienced improvisers alike would often ask us where to find information about upcoming festivals, because they had no idea the Improv Festivals Worldwide spreadsheet even existed.
So what is this spreadsheet? It’s a publicly shared Google Sheet that lists most of the improv festivals worldwide. It’s kept up to date, openly shared and edited by members of the global improv community. I don’t know its full history or who first started it, so if you do, please get in touch so I can update my text and give proper credit!
I’ve wanted to turn that spreadsheet into a website for years. I started working on it about a year ago and only recently found the time to finish it.
The beauty of this project is that the community already maintains the spreadsheet, so there’s no extra burden of keeping data current. All I had to do was fetch it, format it, and display it in a more accessible way.
I didn’t implement every possible parsing check or data optimization, simply for lack of time. My goal was the cleanest, most straightforward solution, and I think the result turned out pretty decent.
For the UX, I experimented with different placements of the information, trying to figure out the best way for users to quickly find and focus on the most important bits—like the date, festival title, and location.
If you want to see all the different iterations in detail, check the image here.
Regarding colors, there wasn’t much of a deep reasoning process—mostly trial and error. I ended up between purple and orange, and purple won. Since I liked all of the options, I included CSS classes (.orange, .yellow, .blue, .green) that can be added to the body element to switch the color scheme.
This project is open source, of course, because I see it as a community effort.
So anyone can fork it, customize it, and host it. No attribution required.
Currently, the site is hosted as a demo on a subdomain here:
improv-festivals.radical-elements.com
You can check the GitHub page of the project, with its technical info too.
There's not a lot of documentation, as I feel the codebase is very minimal and pretty much self-explanatory (for people familiar with Laravel or MVC frameworks).
But feel free to contact me ([email protected]) for any info on the project!
My goal is to also create a dockerized version of it so that people can host it anywhere, regardless of their tech stack.
My hope is that another (or many!) developer(s) from the improv community will pick it up, host it under a proper domain (improv-festivals.com is available at the time of writing), and keep it alive.
This is a small token of gratitude to the improv community, which has shaped my life in many, many ways.
Thank you :)