COLAB23 PORTFOLIO

PlanPal

PlanPal is a web application that promotes the likelihood of groups of friends within the hourly retail working demographic, actually meeting up by allowing the group organizer to easily create and share a poll with their friends to simplify the short term planning and scheduling process.

Product Experience

Problem Space

Problem Background  

Most plans in today’s society fail because someone did not respond in a group, because they could not find information about the plan or did not know who all are going. Social dynamics play a great role in success or failure of an event. For instance, it is motivating to see how many people are going and to be able refuse without awkwardness.

With as many as 310 million smartphone users in the US, and as high as 44% of Millennials (aged 23-39) using group chats on their smartphones everyday, there needs to be a better way to plan an event between friends groups, especially friends groups involving retail or hourly shift workers. The current group chat methods don’t satisfy these needs.  

Research Insights

User Pain Points

To validate how real these issues are, several retail workers were interviewed as potential users, we wanted to see what issues they might run into when it came down to planning events within their friends groups. 

The main takeaways were a consistent need for better visibility and communication about an event without it being too time consuming. Specific issues came up around group chat conversations being hard to keep up with while at work, struggling to find a common time between schedules being different everyday and not being able to respond as easily as other friends while planning an event. 

Feedback

The information we tracked from 16 additional people aged 24-39 in a survey we created also supports some of the aforementioned challenges and highlighted some additional things to consider when building our product. 

Again we saw the recurring trends of a desire for better time alignment and a centralized platform for event planning, though additional suggestions like communication, calendar, and location updates were also desired, due to technical and time constraints of an 8 week course we couldn't optimize for everything but took notes for future planning. 

Solution Explanation

Based on our target users’ top three pain points, we knew we wanted to work on a polling application for friends to find a suitable date and time to hang out at an event together without much effort. In response to the challenges both our organizers and the attendees faced we created PlanPal. 

Our primary goal was to simplify the planning process for social events by creating a centralized platform where friends can get and give their availability to each other in a quick and easy manner. 

We hypothesized after using our product, users, especially those working in the retail space will be able to communicate both when they’re free and see when their friends are free much more efficiently. 

Planpal has three key features at launch: 

  1. The Event Creation page, the organizer of the event can input all the relevant details they want to communicate with their friends. They can input their personal information and the name and details of the event, they can suggest days and times they think might work for their event, and they get a link they can share with their friends
  1. The Attendee Poll page, after identifying who they are (via name or email) members of the event can vote on the days and times the organizer suggested or add additional timeslots with a simple click.  
  1. The Results page, organizers can see the results that work best for the group to do their event. 

Iterative Design Learnings

We conducted 4 usability tests and 4 out of 4 interviewees mentioned that our product was straightforward and easy to use. The majority of the feedback our team received for additional features that we already planned to implement in future iterations, but chose not to implement because of time constraints.  We took a note of all suggestions as we plan on implementing them in future iterations of our product after the conclusion of Co.Lab!

Feedback 1: “It can be a little confusing picking a day with no actual date. What if today is Friday? Does Friday mean next Friday or today?”

Feedback 2: “It wasn’t immediately clear that I had to click a time to vote. I was able to figure it out, but it wasn’t immediately clear.”

Feedback 3: It would be good to have a feature where there's a "deadline" for attendees to know when the event is happening.

Feedback 4: It would be nice to have an ‘invite to the poll’ list. A list of a person who was invited and people who actually voted. 

Lofi & Hifi Mockup

Implementation Details

Technical implementation

Where is it hosted?  

The backend is being hosted on a AWS EC2 server.  An SSL certificate was set up using certbot to allow secure connection from the Back End to the Front End.  Front End is hosted using Amazon Amplify with a domain created through Amazon Route 53. 

What is your tech stack?

  • BackEnd Python using SQLite Database
  • FrontEnd React

High level journey of a request

  1. Accept
  2. Read
  3. Decrypt
  4. Parse
  5. Decode
  6. Process

Technical challenges

What was the hardest part of development?

  • So far working with react default select input boxes. Getting these boxes to update States and hold values and not default back to the top selection. 

Does your app have any scaling issues?

  • Would potentially have to upgrade backend to handle larger volume of requests and setup a better database but neither would be a big deal. 

What are some key takeaways?

  • Look into ui element libraries that play better with the functionality we are trying to achieve.  Being familiar with these might have saved a lot of time when developing functionality. 

Future Steps

While the Co.Lab experience is over, we still have plans to work on additional features for Planpal. Originally, only the organizer of the event could see the results of the poll, but we decided everyone should be able to see who’s coming so we have plans to make that feature more visible. We also are looking into calendar integrations for all the members once a date/time has been confirmed by the organizer. 

Learnings

Product Manager Learnings:

Chris Reid

Co.Lab was a very interesting experience for me, I learned how important it is to drill down on specific features on a product. I learned how to create a roadmap and collaborate cross functionally with designers and engineers. 

Designer Learnings:

Andy Xu

I learned how developers can guide design decisions based on their understanding of technical constraints and how much work they have to put in to make design a reality!

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:

Danni

I learned how to convert high fidelity design into functioning code rather than design everything from scratch. I’ve also learned a lot about how a feature can sound so simple in theory, but is much more complex to execute in practice once it comes down to building. Finally, I also learned to keep goals realistic; aim for the primary product goals by the deadline, then add extra features later. 

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:

Chris M

&

I learned to look ahead at the feasibility of features to come up with a working development plan. I learned the value of getting information to the front end in the format that the front end needs to simplify react functions and components.

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

As a team we learned a lot on this journey, each one of our roles is influenced by the other members of our team. Due to technical and time constraints we learned how important it is to have strong trust and communication with each other and how many little things go into the success of a product.