COLAB5 - Progressive Web App

Co.Buddy

Co.Buddy helps young tech professionals develop new skills by beating procrastination and inactivity through peer accountability.

Background

Young professionals face a lot of distractions - whether it is social media or procrastination on a project they just don’t feel like doing. Startup founders, freelancers, and consultants face a common problem of procrastination and inactivity. 


Peer accountability - it works for all kinds of things. When you have a group of friends who can nudge you, you are more likely to follow through. According to a study done by North Carolina State University, a 15-week online weight-loss program found that participants with buddies lost more weight and waist inches than those who took the course without buddy support. Many people don’t have the motivation to take that initiative and do it on their own. 


 


In addition, many participants (ages 18-24) in our user survey stated that the number one reason why they did not achieve their goals was due to procrastination and lack of accountability.


User pain point + feedback 


Co.Buddy was designed for users such as Raymond. Raymond is a software engineer seeking to learn React and Javascript. Raymond is introverted and struggles with meeting new people both virtually and at in-person events. Raymond wishes that he had multiple options to choose from in case my initial match isn't looking to learn similar languages based on my preferences.


Landing on the solution 


Co.Buddy helps young tech professionals develop new skills by beating procrastination and inactivity through peer accountability. In addition, Co.Buddy empowers young tech professionals to grow in their careers by practicing what they love. The Co.Buddy platform is designed to help you focus on the skills that will help you land your dream job.


All you do is tell us your goal, and we will match you with someone who can help you reach it. We'll track your progress, and keep the conversation going with a platform full of resources to help you or your buddy succeed. 


Explanation of solution 


Our solution was to pair Next.js’ fast development cycle with Firebase’s easy-to-integrate back-end. That allowed us to be able to quickly authenticate users and store their information onto Firestore (Firebase’s real-time document database). Once we have their information, we can look through the database for existing users that haven’t been matched and pair the most suitable ones together. That became easy to do since Next.js allows us to write our own server-side functions easily through the /API/ route in the /pages directory. 


Next Steps

We plan on improving and adding new features to Co.Buddy. Some of the features we’ve discussed include:

  • A task manager/to-do list for users to add their goals to so they and their partner can easily keep track of what they need to achieve. 
  • The ability to edit your user account (add images, bio, age, location, extra information)
  • Push notifications so when you match with someone or get a message from your match you are notified even when the app isn’t running.
  • Group matching to facilitate a community of similar goal-oriented people so they can achieve their goals together.


We hope that Co.Buddy will become an extension of Co.Lab as Co.Lab continues to scale so alumni can continue to network, grow their skills, and partner with one another after their cohort ends.

Learnings

Product Manager Learnings:

Leslie Thomas

  • Learned agile methodology and how to facilitate design sprints
  • Learned about the JTBD (jobs-to-be-done) framework and how that can play a role in prioritizing/reprioritizing a product roadmap
  • Learned to work cross-functionally with designers and developers and learned technical keywords that drive the success of an application (ie. version control, progressive web app (PWA), APIs, etc.)

Designer Learnings:

Olusola Kalejaiye

  • Learned the importance of being flexible and re-prioritizing design given the project’s constraints
  • Learned to design for users while keeping the developer’s capabilities in mind. Designing features in a way that is easy to execute for engineering has been the biggest learning.
  • Learned to use insights from user testing to drive product optimization and features prioritization.

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:

Hakeem J

  • Learned how to iterate quickly and develop a full-stack application in a short period of time
  • Learned how to work in a cross-functional team with a Product Manager, designer, and other developers effectively. 
  • Learned agile methodology (Working with a backlog, having daily standups, working in sprints)

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:

Rafael Loredo

&

  • Learned how to build a PWA App
  • Learned Tailwind CSS
  • Learned Time Management is very important when working in a fast environment
  • Learned A new JavaScript Framework (Next.js)
  • Learned Agile Methodology

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