COLAB26 - Mobile App

The Breakup App

Your ultimate companion on the journey to healing and growth after a relationship ends. This app is designed to be your digital support system, offering a suite of feature

Product Experience

Problem Space 

Problem Background  

The primary customer for "The Breakup App" is individuals who have recently experienced a breakup and are seeking support and tools to navigate the emotional and practical challenges associated with the end of a relationship. This includes anyone looking for a digital solution to assist in maintaining no contact on social media, fostering emotional healing, and connecting with a supportive community.

Need/Problem Addressed:

The app addresses the need for a comprehensive and supportive platform that helps users manage the aftermath of a breakup. The key problems it aims to solve include:

  • Maintaining No Contact: Assisting users in establishing and maintaining no contact on digital media to facilitate emotional healing.
  • Emotional Support: Providing a community space for individuals to share experiences, seek advice, and receive emotional support during a vulnerable time. Using AI to provide support and reduce the feeling of isolation.
  • Privacy and Confidentiality: Prioritizing user privacy by creating a secure and confidential space for individuals to navigate their post-breakup journey.

Why Now:

The timing is crucial because breakups are a common and challenging life event. In the digital age, where maintaining no contact can be difficult, there's a growing demand for a supportive app that addresses the unique needs of individuals going through a breakup. With an increasing awareness of mental health and the importance of seeking support, now is the opportune moment to introduce a tool that aids in the emotional recovery process.

What We Know:

  • Market Demand: Research indicates a rising demand for apps and platforms that provide emotional support and resources for individuals dealing with breakups.
  • Digital Detox Trend: The trend of digital detox and the recognition of the impact of social media on mental health highlight the need for a tool specifically addressing post-breakup digital interactions.
  • Community Engagement: Successful platforms with community-centric features have demonstrated the positive impact of shared experiences in overcoming challenges.
  • Privacy Concerns: The increasing emphasis on privacy and confidentiality in digital spaces underscores the importance of providing a secure environment for users to share and heal.

How We Know It's a Problem:

  • User Surveys and User Interviews: Conducting a user survey and seeking feedback from individuals who have experienced breakups to understand their pain points and needs.
  • Market Research: Analyzing existing apps, forums, and services catering to post-breakup support to identify gaps and areas for improvement.
  • Psychological Studies: Referencing psychological studies and literature that highlight the emotional challenges individuals face during and after a breakup, emphasizing the need for targeted support.
  • Anecdotal Evidence: Gathering anecdotal evidence through real-life stories and testimonials that illustrate the struggles people encounter in maintaining no contact and recovering emotionally.

In summary, "The Breakup App" addresses a timely and significant need by providing a holistic solution for individuals navigating the complexities of a breakup in the digital age. The insights are grounded in market research, user feedback, and a broader understanding of the emotional and privacy-related challenges associated with post-breakup experiences.

Research Insights

User Pain Points

Using the group of 25 people who offered to do user testing from the user survey we sent, we scheduled 7 user interviews. 

Feedback

User Feedback 1

The tutorial was succinct in showing what the app is about and what it has to offer. The app helps with building self-discipline to not contact your ex. I can also see how it can be helpful if you’ve shared too much with your friends, and you’re trying to decompress from friends who you always talk about it with.

User Feedback 2

I think it's helpful [to submit a daily check in], but at the same time it could be kind of a hassle to do it each day. It's satisfying to see how many days I've gone without contacting my ex and the nudge [with the widget] is helpful. If the widget wasn't there, I might forget to log in and submit a check in.

User Feedback 3

It would be good to have other prompts involved like “Did you consider reaching out to your ex?”, “Why did you decide not to?” in order to give people a chance to elaborate on their answers. Sometimes it’s not as simple as saying “yes, I contacted my ex”, sometimes there’s logistical reasons involved like I still need to get my stuff from our old place. 

Solution Explanation

Based on our target users’ pain points, we knew we wanted to work on the following features: 

  • A no contact tracker that would help keep users accountable if they are following the popular No Contact advice for breakups.
  • Reddit for breakups feature which will allow users to connect with others socially, get advice, and see other’s stories so they don’t feel alone. 
  • An AI chatbot that will help users have an instant, empathetic friend 

Lofi & Hifi Mockups

Iterative Design Learnings

After we showcased our prototype via moderated usability testing, we learned that users really valued having a social or community page that they could turn to. Although users found the AI Chatbot Companion interesting and cool, users frequently shared their feelings about speaking with real people and connecting with individuals who have gone through similar experiences as them.

Implementation Details

Technical implementation

The Breakup App uses the .NET Maui for its front end so it is not hosted anywhere (though we do have the most recent version for Android in a google drive for download). Its backend API is built with Python in the Django framework, using Django’s ORM to convert our queries into PostgreSQL for storage on ElephantSQL.  The Django app itself is hosted in Vultr.

Authentication - full stack

  1. The user opens the app, which diverts them from the home page to the sign in page if they are not authenticated.
  2. They input their credentials
  3. They submit the form
  4. An internal service makes an API call to our django app to validate the credentials
  5. The API processes the credentials against the stored data in ElephantSQL
  6. If correct the API will validate and authenticate the user on the front end and navigate them to the home page.

No contact tracker  - local

  1. The user opens the app, which opens to the home page if they are signed in
  2. Internal logic determines whether the user can check in currently
  3. The user clicks the check in button
  4. The user data for how long the streak has lasted is incremented
  5. The new data is then saved in the phone’s app data directory
  6. The user interface is updated to reflect the longer streak
  7. The user can feel the sense of accomplishment from one more day of making healthy choices

Technical challenges

What was the hardest part of development?

One of the most challenging aspects of development has been understanding the intricacies of the .NET compiler to effectively structure code. This complexity has particularly hindered progress in incorporating images into the widget.

Additionally, navigating and comprehending code authored by others has proven to be a significant hurdle. Working with unfamiliar codebases presents difficulties in understanding their logic and functionality, making collaboration more challenging.

Does your app have any scaling issues?

Currently our app is relying solely on local device storage (MauiStorage) for storing user information and other information tied to user accounts which will not be scalable in the long term.

With this in mind, the more accounts that are made and more data is put in, it could cause issues with slowness and responsiveness depending on memory and disk space availability.

What are some key takeaways?

Key takeaways from our development experience include the critical importance of communication, particularly when working asynchronously. We've learned the necessity of exercising caution when combining asynchronous code to prevent unintentional breaks in other parts of the system. Additionally, our experience with GitHub has highlighted the fact that while it may not flag all issues with merges, thorough testing and review are indispensable

Future Steps

We will continue building this out yay!

Fully integrating backend API so user information can be stored and analysed. Build out a community page for people to share stories and support.

Learnings

Product Manager Learnings:

Sophia Loomis

I’ve learned how to change priorities based on user feedback and needs. Putting the user first is always going to give you the best chance of success for your product.  

Designer Learnings:

Alexa Juarez

Communication is the key to success. Being able to articulate user findings, why they are important to design decisions, strategizing on why certain design assets are important from a UX perspective and the handover from design to development was a huge learning for me.

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:

Charles McCall

Establishing clear processes and open lines of communication is key to success.

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:

Joshua Lim

&

Communication is important throughout the entire team. It’s important to voice any concerns or ideas to see if there were any oversights. It’s important to be cautious when working asynchronously because it’s very easy for the code to work at the time, but together it’s quite easy to break.

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

Collaboration, async work, and more about each other’s functions!