TeamSpot — A sport team management app built with Flutter and Firebase

Giovanni Accetta
5 min readOct 26, 2021

I finally got to publish the first version of my new app: “TeamSpot — Join the club !”. TeamSpot is a cross-platform, graphically appealing sport management app, completely free and dedicated to groups of friends or coachs that struggle to schedule and organize games, practices or regular group activities and at the same time keep every one informed and up to date.

From a developer point of few it is a nice demonstration of Flutter cross-platform capabilities. The first version I published works seamlessly on the web:, on android and on iOS. The backend is completely serverless and built in a scalable way using almost all of Firebase services and respecting the clean architecture principle. However, I want this article to be more about TeamSpot and its features than about development. Though I’ll talk a little-bit about it and keep publishing more articles about what I did and how I achieved this result.

Why TeamSpot and what does it do?

Almost Everybody has struggled to organize group activities, sports sessions, board games meetups, or any other hangout activity with a regular group of people. Current Messaging solutions such as WhatsApp and Facebook Messenger are not suited to organize events and follow availability quickly. Alternatives are often dedicated to club management and, therefore, too complex and not easy to use. TeamSpot offers a cross-platform simple and graphically appealing solution to help any group of friends (small or big) organize their regular sport or e-sport activities by communicating in the forum, creating events and launching surveys and tracking all members’ responses. TeamSpot also focuses on privacy since members do not need to expose emails or phone numbers to the rest of the group.

A focus on privacy: Join a team without sharing your phone number or mail

TeamSpot focuses on privacy since members do not need to expose emails or phone numbers to the rest of the group. To join a team you only need a TeamSpot invitation code or a TeamSpot invitation link. Or, if you create a team, just choose a name and a domain (Football, Volleyball, Basketball, e-Sport or any other sport), you can easily invite other players. From the team tab, share with them an invitation link or simply let them scan the QR code. Your phone number and/or mail, as well as those from other players won’t be shared with the others.

The TeamSpot forum: a communication tool to stay up to date with everyone

The TeamSpot forum act as your team virtual dressing room! Ask any questions, communicate with other players, discuss past games and practices or simply have fun conversation. The TeamSpot forum is the best “Spot” to share your thoughts.

TeamSpot events: Schedule your team games and practices keep track of every player response

The TeamSpot events tab allows to create a single event as well as weekly or monthly activities. Being it a weekly training session, a single game or some practice time, TeamSpot events allow every player to quickly show their availability to all the team.

TeamSpot surveys: Launch surveys to always choose the best option for every player

The TeamSpot survey tab allows to create simple survey for your team. You can choose among up to 5 options! Being it choosing a date for your next big game or choosing a place for your team to practice. TeamSpot surveys are the perfect tool to always choose the best option for everybody.

The graphics

One of the point I really paid attention to has been the look and feel of the app. As you can see from the screenshots below, There is not a single square corner in the app. Also most of the UI components have custom rounded shapes with each angle having a different curve.

I also tried to put some attention into animations and transitions as these are fundamental blocks to deliver a pleasant user experience.

The cross-platform capabilities

Being able to build an app that could be used by virtually anyone was one of the main objectives I had.

In order to achieve that, Flutter has been an almost obvious choice for me. Being alone in developing both the frontend and backend, Flutter was the most comprehensive fast and effective framework that allowed me to publish this first version on the web:, on android and on iOS with virtually no extra effort.

Some screenshots of the app

Visuals let you often understand things more quickly than in any other way:


I hope that you like my new application.

I would really appreciate if you have any feedback and/or suggestions on how to improve it. Also I would really like to know what feature / part of the app is worth an article to explain the inner working of the feature.

Finally if you really want to help me just download the app and try using it with one or more of the groups you are into and/or support me by buying me a coffee.



Giovanni Accetta

Senior Mobile Developer 🧑‍💻 and freelancer 🚀 with 360 experience on mobile apps lifecycle 📱! Always happy to talk tech 💻, photography 📷 and travel ✈️!