COLAB12 - Mobile app

SportsPal

SportsPal is a way to connect adults looking to exercise more regularly with others who have the same goal, where they can give motivation and keep each other accountable

Problem Background  

“The journey from the bed to the car is the hardest part of going to the gym”.

Truer words have not been spoken in regards to exercising and how hard it can be to find the motivation to actually go and exercise. It can be very difficult to find the motivation to exercise even though everyone knows it’s healthy to do so regularly.

There have been many products attempting to help users gain motivation such as exercise apps that track the amount of exercise users do on a daily basis, but there hasn’t been one complete solution to actively giving people the motivation to exercise and keeping them accountable. 

Research Insights & User Pain Points/ Feedback

To confirm and validate the problem, we interviewed four potential users who are looking to actively exercise. They confirm that the lack of motivation has been the main issue when it comes to why they do not exercise as much as they want to. We identified the issue to be the lack of motivation and accountability that people experience on various levels but the core problem was the same for everyone, lack of motivation. Our research also shows that the participants have the want and realize that exercise is important, but find it hard translating it into real action. In terms of what they think have helped this problem in the past, participants’ answers include having someone to go with or simply having phases where they had motivation in the past to be a form of solution, but cannot maintain this form regularly. 

Landing on the Solution

Based on the user feedback we got and our initial ideas, our attempt to tackle this problem will be through the social aspect. We want to connect users with the same goal to exercise more regularly with others that share the same goal. We believe that this is a different aspect we can tackle it from instead of something like a reminder app or an app that gives positive reinforcement every time a user completes an exercise. 

Explanation of the Solution

SportsPal has 2 core features: map and chat

  1. The map: this is how users will be able to find other SportsPal users (preferably near their area) and see if they share any interests. Users can see other users as icons showing up as they scroll through the map and tap on them to see more information on that specific user. They can then message them by tapping a message button from the map feature.
  2. The chats page: this is how users can connect with other SportsPal users they found from the map. Our idea is for users to meetup and talk about exercising together, and it can range from anything from the interests they have on our app or any other things they have in mind. We also hope they can make friends and connections through our app and have a better time exercising. 

Users will also be able to edit their profile from the profile page and edit their names, description, and interests as they wish. They can navigate to these 3 pages from the navbar at the bottom of our app. 

Lofi & Hifi Mockups


Iterative Design Learnings

After coming up with initial designs, we conducted more research with potential users to get feedback for our designs. The overall sentiment we got from users was really positive, and we got a few small inputs that would make the user experience that much better. We made improvements based on how users rate their experience overall as well as minor changes to our app such as changing sizes, fonts, and button placements. 

Implementation Details

Technical implementation

Hosted: https://github.com/bmoy69/sports-pal
Tech stack:

  • React Native / JSX / Javascript
  • Firebase / Firestore / Storage
  • Database requests and authentication have been handled by Firebase


Technical challenges

  • The hardest part of development was when we had to merge the code and make it work as it should
  • The app has not been tested with many users so it was not possible to detect any scaling issues
  • The importance of communication between all team members is the most valuable takeaway. Exchanging information and experience between the devs and defining the boundaries of the implementation

Future Steps

Although we will not continue working on SportsPal full time, we are so proud of what we have achieved within this ~5 weeks time span as a team. We learned so much as a team working with a team of PMs, designers, and developers, as well as individual learnings that we will certainly take for our future endeavours. 

Learnings

Product Manager Learnings:

Andreas Alexander

Communication is key, keeping your team updated on what you are doing, the progress of where things are on a daily basis was really helpful for our team, whether there has been huge progress made or a blocker occurred, it is very important to let the whole team know what’s going on. As a PM, I also learned that solid clear ideation from the beginning is essential to make sure the whole team is on the same track and have a clear idea of what our product is going to be.

Designer Learnings:

Flavio Maltez

I learned to always listen to my peers and their insight. I understand now that not everything I design is implementable. And asking the right questions to make a viable MVP is vital to a successful team and work flow. I also want to emphasize the importance of consistent communication with one another. Something so simple can be difficult for others because we may have many fires to put out every single day. But being able to take 30 min each day to communicate our progression and problems we are facing lends itself a great asset for the team to work together and find solutions faster and overcome any hurdles we may be facing at the moment.

Designer Learnings:

Jo Sturdivant

  1. Adapting to an Established Team: Joining the team in week 6 of 8 was challenging, as I had to quickly adapt to existing workflows, dynamics, and goals. This mirrors real-world situations where you often integrate into teams mid-project, and flexibility is essential.
  2. Work-Blocking for Efficiency: With only two weeks to complete the project, I learned the importance of a structured work-blocking system. This approach allowed me to manage my time effectively and meet deadlines under pressure.
  3. Making Data-Driven Design Decisions: Unlike my past projects, I had to rely on research conducted by others. This was a valuable experience in using pre-existing data to guide design decisions, helping me focus on the core insights without starting from scratch.

Developer Learnings:

Vasileios Moysidis

Working alone up to now it took me a while to realize that I had a specific role and didn’t have to do everything. That means that I had to follow specific guidelines, listen more to the other members and restrict my improvisation.

Developer Learnings:

Vanady Beard

&

As the back-end developer, I learned how important it is to create efficient and reliable systems that support the entire application. This experience also taught me the importance of optimising the database and ensuring the backend is scalable and easy to maintain.

Developer Learnings:

Stephen Asiedu

&

As a back-end developer, I've come to understand the importance of being familiar with various database systems and modules. This knowledge enables me to build diverse applications and maintain versatility in my work. I've also learned that the responsibility for making the right choices rests on my shoulders, guided by my best judgement.

Developer Learnings:

Samantha Namugema

&

As a developer, I had no experience with mobile apps. However the problem our team came up with required the use of mobile technologies. I used this opportunity to learn basics of react native and firebase, firestore. I used this knowledge to come up with the chat feature for the app. Also I got comfortable working with new people remotely.

Developer Learnings:

Maurquise Williams

&

  1. Process of Creating an MVP: Developing a Minimum Viable Product (MVP) taught me how to focus on delivering core functionalities balancing between essential features and avoiding scope creep.
  2. Collaboration in a Real-World Tech Setting: This experience taught me how to collaborate efficiently in a fast-paced tech environment, keeping the team aligned and productive, even while working remotely across time zones.
  3. Sharpening Critical Thinking and Problem-Solving Skills: This experience honed my ability to think critically and solve problems efficiently. By tackling challenges and finding quick solutions, I sharpened my decision-making and troubleshooting skills in a dynamic, real-world setting.

Developer Learnings:

Jeremiah Williams

&

All in all this experience was very awesome I learned that in coding with others being transparent is key

Developers Learnings:

Justin Farley

&

I learned how important communication is when working with a team. Communication provides understanding, advice, ideas, and much more. While working with the product team, I’ve found that communication keeps everything flowing smoothly. Working with a team also showed me that every member brings something different to the table and we all have to work together in order to align and meet our end goal.

Full Team Learning

Making time to communicate 30 minutes daily was the foundation for our overall success and productivity. Having a good team environment where everyone is free to express our ideas and opinions at every stage of our development is something we have and a key to our success.