Product Experience

Problem Statement

How might we help families manage their collective health in a collaborative way for improved health outcomes?

Problem Background  

Families often struggle to coordinate healthcare activities, including scheduling appointments, tracking medications, and monitoring symptoms. Existing health tracking apps lack a collaborative approach, making it challenging for families to stay organized and proactive in managing their collective health. The need for a comprehensive solution becomes apparent as families seek an efficient platform to monitor and manage the health of all family members.

Recent studies highlight the critical role of families in healthcare, a demand amplified by the COVID-19 pandemic. According to a study conducted by the AAPA, 

  • The average adult spends 8 hours a month coordinating healthcare activities for themselves and their family members.
  • 65% of adults say managing healthcare is overwhelming and time consuming. 

Therefore, there is a need for a solution that reduces mental stress and builds better family communication. The current problem stems from existing apps being individual-focused, failing to address the specific needs of families with multiple members in need of care.

Research Insights

Online Survey

We performed an online survey that had 18 participants. The survey was screened so that it reached our specific target user of parents. Based on the results we learned that:

  • 72.2% of households consisted of 3-4 people, 1-2 of which are young children. 16.7% had a household of 5 or more, where the majority were children.
  • 83% of parents' main method of managing family health was via phone reminders.
  • 61% encounter challenges scheduling appointments
  • 27.8% of participants forgot to give a child medication. Which was a much higher percentage than what we anticipated.

This initial research data supports our hypothesis that families, especially those with multiple children, have some difficulty when managing their collective health.

User Interviews

To learn more about this space, we scheduled and interviewed 3 parents and 1 caregiver regarding their experiences with managing the collective health of their children and family members. 

We learned that:

  • Managing family health typically falls onto the shoulders of the mothers, which can be stressful.
  • Forgetting appointments was a pain point for some, meaning they would have to go through the process of rescheduling: “I forgot a wellness visit for my son this week…”
  • Accessing health information on sources was difficult due to having to remember passwords and keep track of different things: “There’s multiple login credentials, it’s hard to remember all those passwords!”
  • Keeping track of medication changes was tedious for some and even forgotten at times: “As the list changed it was hard to keep track of!”
  • There seemed to be a strong need for healthcare related task reminders: “If I’m not on top of it, I don't know what would happen. It would be nice to be reminded of those tasks” 
  • Losing paper records of information (ex. vaccinations) due to it being stored casually: “It's hard to find papers in my messy filing cabinet” 

Our user research validated our assumptions that families currently lack a solution to managing theirs’ and their childrens’ collective health. 

The Solution

Introducing: Wellnest. This mobile application will be designed to decrease mental stress and build better relationships within family members by improving collaboration within heath management features. The core features of our MVP include: 

  • Scheduling and managing family members’ appointments on one shared platform. 
  • Managing family’s health history such as medications, symptoms, allergies, diagnoses, and vaccinations. 
  • Allowing for collaboration and co-management of appointments and health history between other family members 

Lo-fi & Hi-fi Mockups 

Low-fidelity Screens:

High-fidelity Screens:

Iterative Design Learnings

In order to gain more insight on version 1 of our high-fidelity designs, we conducted a moderated usability test with our Figma prototype. We recruited 6 participants (both with/without children) to complete a series of tasks and asked for their thoughts/feedback. The reason for both participant types was to make sure the user flows were easy to follow for anyone. Some of the things we learned is that:

  • Majority of the users found the flows of our prototype to be standard and easy to complete.
  • 50% of participants experienced difficulty when trying to find where to add a secondary account member to the household.
  • We learned that users enjoy having more than one option to do certain actions. For example, when choosing symptoms, some stated the option of adding in symptoms that are not from the pre-existing list.
  • Although these were some of the learnings, ideally, we would have tested using the actual live demo product instead of a Figma prototype. However, due to the scope of our project being much more complicated than initially expected, we had to make do. Later on, we will do further testing with our live demo product to continue to make the app better.

Implementation Details 

Technical implementation

Where is it hosted?

https://hklim1.github.io/wellnest 

What’s the tech stack?

Frontend: React Native and TypeScript

Backend / Database: Google Firebase and Firestore

User Flow and Functionality

Users register for an account, log in, and are brought to their homepage where they can easily view upcoming appointments and medications. Through the use of a Speed Dial, users can easily and quickly add appointments, medications, symptoms, vaccinations, and notes. For more in-depth information on each family member’s health history, current medications, and appointment and symptomatology timeline, users can navigate to the desired information using the bottom navbar. Lastly, users can easily access account and family settings by clicking on the Settings icon at the top of the screen. In the Settings menu, users can perform actionable items such as add or edit “dependent” members including children and elderly relatives, re-configure their login details, and change the app appearance between regular and dark modes.

Technical challenges

Learning Points

Mobile Development Considerations: Through this process, we found there were several key differences between mobile app and web development. For example, deploying a live version of our product is incredibly difficult due to the financial cost and required approvals from the Apple App Store and Google Play Store. Additionally, there are more security considerations with iOS and Android credentials, which caused difficulty with features such as Social Sign-on using Google Firebase.

Complex Features and Functions: There were several new features and functions that we have never built out before and thus, proved exceptionally challenging. These include building out all of the small details with the Appointments Calendar and displaying all of the important health information by date in the Health History Timeline.

Use of Expo Go: Expo Go is a phenomenal development tool for quick mobile development testing; however, it is limited for complex testing and is incompatible with features such as Social Sign-on due to security and authentication concerns.

Scaling Issues

Limitations with Google Firebase / Firestore: A core issue with our backend is that we are unable to filter on time or specific parameters with Google Firestore. Thus, get requests grab all of the information at once which can be costly and inefficient with larger datasets. As our user base grows, we would like to switch to a more efficient database and backend such as Express and MongoDB.

Expo Go: Much of our development testing was done with Expo Go, which is limited in its capacity to do complex testing, import and use certain native modules, and connect to some iOS and Android APIs. This limits our ability to be production-ready and deploy the highest-quality version of our app to the Apple App/Google Play Stores.

Key Takeaways

  • Some key takeaways that we learned through this experience are that there are several differences between mobile app and web development, building mobile apps through Expo Go vs. Native CLi, and using Google Firebase/Firestore as a Backend-as-a-Service vs. a true backend such as MongoDB and Express. 
  • While several of the choices we made for development increased the ease of building and learning development, there are limitations with scalability and deployment that we will have to consider as our product becomes more finalized. 
  • During actual development, we became accustomed to standard practices such as typical folder structures, the use of components to improve efficiency, code readability, and developer experience, and the application design systems. 
  • Lastly, we learned how to work closely together with our UI/UX designer and product manager to optimize the design, functionality, and development timeline to deliver a robust and high-quality product.

Future Steps

To ensure delivery of a valuable and impactful MVP, we decided to release our product’s core features and subsequently roll out new features and improvements in later phases. We prioritized scheduling of appointments and managing of health history for the duration of this bootcamp. We would like to address our remaining user stories which will enable collaborative appointment and health history management among family members. We also hope to implement notification reminders for appointments and medication regimens. 

Phase 1: Launching the Foundation (completed during Co.lab bootcamp)

Account Sign-up

  • Allow new users to signup and existing users to sign into the application

Account/Member Management

  • Give main account user the ability to add a secondary account member (such as spouse, babysitter, caregiver) where they will have access to dependent members’(children/patients) information

Appointment Scheduling

  • All users with full or read-write permissions can create, edit, and delete appointments for each family member into the app calendar 

Health History Management 

  •  Users will be able to input, edit, and delete information about medications, symptoms, allergies, diagnoses, vaccinations, and general health history (e.g. family history).

Testing and Iterations

  • Collect user feedback through unmoderated and moderated usability tests.
  • Analyze data and user suggestions. Identify areas of improvement and create iterations.

Phase 2: Collaboration and Notifications

Collaboration Between Users

  • Allow users to invite and approve other users to add and edit dependents’ health history, medications, and appointments

Push Notifications

  • Give users the ability to enable push notifications for any of the following:
  • Appointment reminders
  • Medication reminders
  • Alert when another user has administered medication for a shared dependent
  • Update when another user adds or edits appointments or health history  related to a shared dependent

Phase 3: Enhance Existing Features

Integration with Additional Platforms

  • Implement social sign-on to provide users with an alternative, more convenient way of registering and logging in
  • Connect to Google Calendar and Apple Calendar APIs so that users can see upcoming medical appointments alongside other events and appointments

Usability Testing and Iterations

  • Collect user feedback through unmoderated and moderated usability tests.
  • Analyze data and user suggestions. Identify areas of improvement and create iterations.

Backlog Ideation Phases:

  • Add functionality to add and manage and switch between families, this would be useful for healthcare providers or step families who don’t want to join together
  • Integration with fitness tracker applications 

Learnings

Product Manager Learnings:

Rubbiya Charania

This experience taught the fulfillment of working with a team of diverse talent, growing our skillset together and delivering something of value.  I learned how to apply agile methodologies to deliver an MVP within a short time frame while considering scope, user insight and the impact of the features being delivered.  I learned the importance of strategic thinking when it comes to prioritization, the impact of good decision making, and the benefit of adaptability when technical challenges arise.  

Designer Learnings:

Ashley Cho

I learned to be flexible with the process. As problems arose we had to adapt and make changes accordingly while maintaining the product’s core user experience. I learned about creating an effective hand-off process to the developers. Our work needed detailed communications. This helped to facilitate discussions amongst the team which helped us proceed with the development of our app. I learned the impact of cross-functional teamwork and the experience has been very valuable for me. As a team, we all have different strengths, utilizing them requires intention, effort and consistent communication in order to achieve our project goals.

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:

Heather Lim

Learned mobile development using React Native and several considerations that are unique to mobile development such as Android SHA-1 credentials and deployment of mobile apps to the Google Play store and Apple app store Gained a deeper understanding of typical React / React Native folder structuring and development tools such as components and utilities Acquired valuable experience working within a cross-functional team to collaboratively plan, design, and develop a meaningful product following Agile methodology

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:

Dylan Heslop

&

Learned how to interact with and share feedback with the designer, PM and co-developer Improved understanding of how React-Native works and how I can build apps for both platforms with a singular codebase Also have a greater understanding for the need of modularity/reusable components in the codebase, as it helps to reduce a lot of repetitive code and improve DX.

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 that we should not be afraid to take on new challenges, as we were able to successfully work together to research, design, and develop a mobile application for the first time. Our team was able to learn how to utilize a new set of tools all the while delivering an unwavering quality of work that was necessary for our MVP. We learned the impact the different types of communication made on our ability to collaborate with one another. It was important to keep effective and clear communication asynchronously, and to ensure that our synchronous communication was frequent and transparent enough to leave no room for confusion or question. We found that by asking the right questions we were able to obtain the information we needed in order to do our jobs more efficiently. We grew not only in our technical skill sets but in our abilities to listen, empathize and work with one another. We’ve grown in both tangible and intangible ways!