Kirsten Odendaal

How I Built a Fun Team Voting App (Without Losing My Mind!)

team name

Introduction

Ever struggled to pick a great team name? Turns out, you’re not alone! To solve this everyday dilemma—and add a bit of fun to team building—I decided to create a small but interactive voting application. Here’s how I went from “I have no idea what I’m doing” to “Wow, this actually works!” without losing my sanity.


The Idea

We needed a creative team name, but every brainstorming session ended in playful chaos. I figured, why not harness this energy into something productive (and fun)? Thus, our little app was born: a place to anonymously submit hilarious or clever team names, and later vote for the very best.


The Tech Stack

I kept things simple yet modern:


The Journey

Initially, things were smooth sailing. Gradio made creating the frontend incredibly easy. With just a few lines of Python, I had interactive tabs for submitting team names, voting, and checking a real-time leaderboard. But then, reality kicked in.

Turns out, Hugging Face Spaces don’t keep data forever. My carefully collected votes vanished every time the container restarted—ouch! Enter Google Sheets to the rescue. With a bit of Googling and a lot of friendly ChatGPT help, I securely connected my app to Google Sheets using a service account. Now every submission and vote was safely stored away in the magical cloud, ready to be accessed anytime.


The Security Adventure

Oh, about that “securely connected” part… Initially, I mistakenly uploaded my sensitive service account JSON file to GitHub. Big mistake! Luckily, I quickly pivoted, learned about environment variables (thanks again, ChatGPT!), and securely stored the credentials using Hugging Face’s built-in secrets feature. Crisis averted!


The Result

In the end, the app was a hit. The submissions poured in—ranging from witty acronyms to cheeky puns. And watching the leaderboard update live with colorful charts? Priceless.

Not only did this small project solve our team naming conundrum, but it also reminded us of the joys (and occasional chaos) of building something from scratch.


Lessons Learned


See It in Action!

Now, back to checking the leaderboard again—I think my favorite name just took the lead!

Happy coding!