Inspiration

We were tired of scrolling through inactive group chats just to find a half-decent pickup game. Whether it was soccer at the local park or a last-minute badminton session, finding people who actually show up felt harder than the game itself. That’s when we thought, what if finding and joining local sports games was as easy as ordering takeout? Boom, Sportify was born.

What it does

Sportify connects players looking for casual or competitive games happening around them. You can browse upcoming games, see details like sport, time, and location, RSVP instantly, and view who else is joining. You also get player profiles, stats, and some AI-generated summaries that are surprisingly on point. But we didn’t stop there — we added a custom ranking system, ranked-based matchmaking to build balanced teams, and even an AI chat assistant that gives you tips to improve at your favorite sport.

How we built it

We built Sportify using Flutter for the frontend and Firebase on the backend. Flutter gave us the flexibility to make a clean, responsive app that looks great on both Android and iOS, while Firebase handled user data, game creation, RSVPs, and ranking logic. We also cooked up a custom ranking system that updates based on your wins/losses and builds fairer teams using your match history. On top of that, we integrated Google’s Generative AI to generate profile summaries and power the in-app chat assistant for sport-specific tips.

Challenges we ran into

Flutter was new territory for us, so getting used to Dart, widget trees, and layout logic took time. Syntax errors came at us fast, and debugging UI bugs sometimes felt like untangling headphone wires. Firebase also had its share of surprises, especially when it came to handling real-time updates and structuring data for ranking and matchmaking. But trial, error, and caffeine pulled us through.

Accomplishments that we're proud of

We’re proud of how much we packed into the app, from a smooth UI to a working ranking system, RSVP tracking, and even AI-generated player summaries. And considering it was our first time working with Flutter and Firebase, the fact that we got matchmaking and dynamic stat tracking working feels like a win in itself.

What we learned

We learned the ropes of Flutter and Dart, Firebase integration, and how to break big problems down into manageable components. We got better at managing app state, designing reusable widgets, and writing cleaner, modular code. Plus, building a ranking system from scratch definitely taught us a thing or two about logic, fairness, and balance.

What's next for Sportify

We want to expand on ranked-based matchmaking, maybe even add ELO-style scoring or divisions. We're also planning to add real-time chat, notifications, and a map-based game discovery view. Down the line, we’d love to explore automated team suggestions based on player ranks and preferred positions. Sportify’s just getting started and the game’s only getting better.

Share this project:

Updates