TeamUp
A collaboration platform for early-career product managers, product designers, and software developers to join or start a product team.
Product Experience
Problem Space
How might we create a low-to-no-cost platform for early-career tech professionals to collaborate on personal projects for skill development and shipping a real MVP?
Problem Background
As the tech industry expands, early-career professionals seeking roles in product management, development, and design often lack affordable opportunities to gain essential cross-functional team experience. This impacts their competitiveness in the job market. Specialized bootcamps in fields like UX Design often do not provide cross-functional team experience. This can also affect upwards mobility if not enough experience working on product teams has been demonstrated.
Cross-functional collaboration is a necessity that benefits your communications skills and personal development. Regina Scott, a career switcher who went through a coding bootcamp, had this to say in a blog published on SheCanCode:
“If you don’t land a job in a tech role or field after getting a bootcamp certificate, you may end up losing those skills depending on how long it takes for you to land a job or work on a project where you can apply those skills. Start working on your next project. Either have it be a personal project or find a group to collaborate with, but you should always be working on something to keep your skills sharp and so you have something current to talk about during an interview.”
Further reading here.
Research Insights
User Pain Points
After completing a total of 7 user interviews and 8 user surveys, we identified a few different categories of prospective users which included current bootcamp students and past bootcamp students transitioning into product management, development and design. Here are a few pain points identified by these users:
- Traditional bootcamps don’t provide cross-functional experience.
- Real-life work examples are usually preferred by recruiters rather than bootcamp case studies.
- Sometimes paired up with team members that are not a good match for them in terms of work styles or personality traits.
- Before joining a team, they don’t know the background experience of their peers and if their skill level is similar to them.
Feedback
Our preliminary user research included the participants mentioned above. Here are a few feedback points that validated the need for our product:
User Interview Insights
- 100% agreed on the necessity of cross-functional collaboration for job readiness
- 57% wanted to practice their communication skills in collaborative settings
- 71% wanted to practice real life situations that were not offered in bootcamp
- 57% wanted to work on a product that aligns with their interests
- 57% wanted to know their teammates’ past experience
User Survey Insights
- 100% agreed on the necessity of cross-functional collaboration for job readiness
- 75% agreed on the importance of personality alignment
- 100% desired to gain real life experience from a collaboration tool
- 88% wanted to build their technical skills on a team
- 63% were looking to build their portfolio
Solution Explanation
Our solution is a website that serves as a low-to-no-cost collaboration tool for early-career product managers, software developers, and product designers to create a product team and ship a real MVP. These users will be able to search for projects or list a project detailing the product idea’s purpose and industry. Our solution includes the following screens:
Onboarding
These screens would include a series of questions that would capture user information to collect their skills, important personality characteristics, availability, interests and background information to display on their public profile.
Teams Browser
This screen would show user profiles and project profiles along with a left hand panel of various filters. The filters would help users search by user profiles, project profiles, interests, roles needed, and project duration. The profiles would include helpful information to determine if a project or person is a good fit for your team.
Create a Project
For users interested in creating a project, the user would be able to fill out a pop-up modal of questions to provide information on the project, such as project description, project duration, roles needed, what they are looking for, and project industry. If a user is unsure on a project idea, we have a tool that generates project ideas for the user within the Create a Project modal.
Dashboard
If a user does not have a project, the dashboard would be unpopulated and display a CTA that can guide the user to explore projects. The dashboard is the first screen the user sees when they create an account. Once the user has joined or started a project, the dashboard would present a few team folders organized into tabs.
Lofi & Hifi Mockups
Iterative Design Learnings
After we showcased our working demo to the users for user testing, we learned the following which we will work into design iterations:
- 3/3 users wanted more information on the home page before signing up for the platform
- 3/3 users wanted more barriers to joining another user’s project.
- 3/3 users were confused about the Explore page and how to search for people vs projects.
- 3/3 users were unsure how the traits they entered would be used to link up with others on the platform, and wanted to know more about what information would be publicly displayed.
Implementation Details
Technical implementation
Where is it hosted?
Our website is hosted on Render
What is your tech stack?
Frontend: JavaScript and React
Backend: Python and Flask
High level journey of a request
Technical challenges
What was the hardest part of development?
Collaborating with another developer. Sometimes we also had issues merging our code together.
Does your app have any scaling issues?
The only issue I foresee could possibly be that when going to the teams/explore page we fetch all users and all projects from our database. As user and project count get higher this would put more pressure on local storage. But it is all text based so it shouldn't be too much of an issue.
What are some key takeaways?
Communication is key. Connecting with your co-developer often and having a cooperative plan of attack is super important.
Future Steps
Our user test group was excited about the product idea, which made us understand the potential that this could have on the early stages of product related careers. We had so many ideas for implementation, but we aimed to streamline our MVP to manage our developers’ time better. Some features required additional research due to limited experience. Below are additional features we’d like to add to our product in future iterations:
- A chat system
- Notification center
- Social media integration (LinkedIn, Instagram, etc.)
- A portfolio integration (links for Behance, Dribble, etc. with a way to preview the portfolio in our website)
- An AI-powered team match system
- A native messaging system
- A landing page with examples of past successful products created in TeamUp
Learnings
Product Manager Learnings:
Natally Vinaja
- Even after prioritizing features, sometimes you have to keep reducing features if it turns out that it is going to be more effort than expected. An Impact Effort Matrix Chart is very helpful!
- You earn the trust and respect of your team by listening to what all team members have to say, consider their suggestions, and after careful deliberation, communicate the decisions and why they were made.
Designer Learnings:
Tara Rajan
- Be flexible about what can and cannot be accomplished within the timeframe, and focus the effort on what CAN be accomplished. Quality over quantity
- Always keep the user’s needs at the forefront of every design decision!
Designer Learnings:
Jo Sturdivant
- 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.
- 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.
- 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:
Yosef Wolday
- I was able to learn redux for React on the frontend
- I was able to deep dive into the complicated nuances of SQL database model relationships with sqlalchemy in Flask
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:
Travis Peck
&
- I discovered that working asynchronously with my developer can save a lot of time, especially when we focus on providing small updates and maintaining good communication.
- I’ve learned that it’s often ok to use resources from different libraries like Tailwind to build components instead of re-inventing the wheel each time.
Developer Learnings:
Maurquise Williams
&
- 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.
- 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.
- 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
Communication is truly the most critical amongst all our team members. Setting team meetings twice a week really helped to keep us all on the same page along with documenting notes from the meetings. Also, setting aside time to discuss and problem solve our differences in direction for our product was instrumental. We respected each other’s opinions and ideas and worked through the effort level needed for each of these ideas. Once we determined what were the main priorities, that’s what helped us understand what was actually important to focus on what we could come back to later if there was time.