COLAB12 - WEB APP

Fairtask

A product that makes task management easier for couples.

Product Experience

Problem Background  

Do you believe that your partner has a right to experience fairness and satisfaction in a relationship? If so, have you wondered about the question, what makes a relationship unfair and unhealthy that causes significant dissatisfaction?  We have gained insight on this problem that hostility and dissatisfaction are not random; they come from everyday activities that we are all familiar with and do not enjoy participating in. It’s true that not everyone enjoys the toil of completing tasks even if they are menial daily chores, however it has become norm that the responsibilities of executing tasks in a household have been placed on one partner based on stereotyped gender roles in most relationships. 

In many households, the assumption that one partner will take all the responsibilities brings complexities of issues that most couples are not expecting, causing a drift in the relationship with complications of dissatisfaction and discontent.  In the duration that couples are struggling to discover strategies to manage tasks, the situation escalates leading to hostility, dissatisfaction, and overall creating conflict in the relationship. It’s important for couples to address this pain point right from the beginning before causing further damage to their relationship.

Research Insights 

User Pain Points

We did 6 user interviews and conducted a poll with 15 people to identify the following pain points:

  1. Getting on the same page. Couples did not always agree about what tasks needed to be done and how to do them. Task completion satisfaction was much higher when goals were aligned.
  2. Feeling bad asking. A pain existed for those who were mostly in charge of noticing tasks and asking for the other person to do them. They did not feel good about asking or wish they didn’t have to.
  3. Larger projects that are long term and do not have to be done immediately get pushed aside and ignored. 

Feedback

In Usability testing, we found that:

  1. The icon circle with a grey checkbox was confusing to users, they were unsure if this meant that the task was incomplete or if it meant the task had been complete in the past. 
  2. Users wanted to be able to schedule the redeeming of a coupon, have a notification sent to their partner and also get a notification that a message has been sent. They wanted to make sure that their partner had time to organise and plan for the reward. 

Landing on the Solution 

Our teams solution to this pain point is to create Fairtask, a task management web app that rewards the user for collaborating with their partner after reaching a decision for fair task assignment and completion so they can enjoy the accomplishment together. If a product exists that documents tasks, fairly assigns points to each task and rewards users after completing the task, then we have a solution to the user’s dissatisfaction. The pain of disproportionately assigned tasks effects the relationship as the unfairness creates dissatisfaction in the relationship and impacts productivity of responsibilities.

Explanation of the Solution

Based on our target users’ painpoints, our established features include:

  • Proposing tasks to create task lists and assigning points to the tasks. 
  • Determine the reward based on the amount of the points accumulated.
  • Complete task and receive points 
  • Claim the rewards after completion of the proposed tasks.

 Pivots

Our team initially proposed building a phone app, but we pivoted to a web/computer app in order to maximise our individual skills while staying within scope.  Also, we lost two resources and had to change our scope. We pivoted by re-prioritizing our features from including a login page to users now login in through a third party website. 

Lofi & Hifi Mockups  

Iterative Design Learnings

During user testing and interviews, we found a common theme that users are interested in features for rewards claim which:
1) Send a message to their partner notifying that they are redeeming this claim

2) Allow them to schedule a date for the redemption of the reward

3) Add features to help ensure their partner will have reminders to keep them on track to making sure the reward occurs. 

Usability testing also showed that greyed out checkmark icons caused confusion. Participants were unsure if the task had just been completed, completed previously or uncompleted. Based on retesting we found that users preferred an empty circle for tasks that had not been completed yet. 

Overall there was also a lot of positive feedback on the designs, people got a “warm fuzzy feeling” and enjoyed the simplicity. 

Implementation Details 

Technical implementation

The application uses the ‘T3’ stack (https://create.t3.gg/) which uses Next.js, Prisma, TypeScript, Tanstack Query and tRPC. The application is hosted on Vercel while the database is hosted on Railway using Postgres. 

Technical challenges

Coming in late to the project, the big challenge was taking the designs and building the app in a handful of days. 

The tech stack along with the deployment and hosting allow for a very high level of scalability. Next provides CDN support for the application, with the backend deployed to Vercel Serverless functions. These all scale with Vercel handling the scaling without needing to manage any infrastructure.

Future Steps 

We decided that we will not be continuing to work on this product, we are pleased with our accomplishments and knowledge we learned throughout our collaboration and opportunities in the Co.Lab program. 

Learnings

Product Manager Learnings:

Sainab Sahal

Prioritization. One of the most effective ways my team approached our problems and reached collectively made decisions is prioritization, an important process we used to maximize our time to decide on MVP features and put our focus on our capabilities in such short time.

Lead with compassionate. I have learned that I can reinforce my leadership skills with empathy and understanding to increase collaboration.

Designer Learnings:

Maryam Daftarian

I learned it’s very important to communicate with the developers throughout all stages of design. That relationship is very important for the success of the product. The communication helps make sure that the developers have what they need when they are building. Otherwise, they will need to be resourceful and find a workaround to finish the job. To make the best product, when developers and designers assess these to make decisions together it can provide the best outcome.

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:

Roy Anger

Stepping into this project to help was a challenge and an interesting experience compared to my ‘proper’ cohort. This help involved only a few days to quickly take designs and information and flesh out a working application. I took a small risk in using the T3 stack for the first, but it worked beautifully and allowed for very fast development for most of the functions of the application.

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:

&

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

We had some major struggles with losing 2 developers mid way due to family/personal matters. But it was a learning experience to regroup and work to find an incredible person to fill in. We learned that we need to be flexible and agile and be ready to shift gears!