COLAB13 - Web App

DreamDates

DreamDates is a web application that helps people find ideas for what to do on a date.

Problem Background  

Going on dates is something that’s common to many people. People go on dates when they’re looking for a relationship, when they’re in a relationship and when they’re married. It's a common and very important experience at every stage of romantic relationships.

Planning a date can be not so straightforward for many people. We all have that friend that always knows the cool spots in town, the latest things happening, and what to do for fun. However not everyone is that cool friend, and it can be hard to come up with a fun idea for a date, especially on a consistent basis. 

Research Insights

Based on our problem background we formulated the following problem statement: 

People who go on dates need a way to conveniently find dating ideas because they want to share different experiences together.

We put this statement to the test with some research by running a survey and doing user interviews. Our survey had 24 respondents and 54.2% of them indicated that they have trouble coming up with dating ideas. In the initial stage, we interviewed 5 people and uncovered a lot of interesting insights. A key one was:

100% of interviewees said they loved going on new experiences during dates.

Digging into this trend with secondary research, we found that studies have shown that people who engage in different and exciting activities for dates have more satisfaction and closeness than people who stick to more familiar dating activities in their comfort zone (Harasymchuk, Impett, Muise, Walker, 2021). This is because these novel experiences provide opportunities for people to share new perspectives and experiences together which fosters greater feelings of closeness.

We concluded from our research that going on different and exciting dates improves the dating experience and the problem of finding what to do for a date was one worth solving. That’s where DreamDates came in.

While working on the project, we adopted a model of continuous discovery and continued doing user interviews throughout each stage. We conducted 9 user testing sessions and an additional 5 user interviews. In these interviews, we found a common pain point was planning the logistics of a date. Our interviewees didn’t like searching for all the fine details needed to adequately plan for a date. We took this into consideration when building our product, leading us to prioritize these aforementioned details. 

Landing on the Solution:

Enter DreamDates

DreamDates is a responsive web app that helps users find different date ideas. DreamDates allows users to search by name or category, save their date ideas, and view more details about each date. All the research and date details are all in one place so users can easily decide on their next date with their partners. 

Lo-fi Mockups

This is the home page. Users can search for date ideas using the search bar or category buttons. They can also save the date ideas by clicking on “Save” on the date cards.

Iterative Design Learnings

After the initial lo-fi tests, we learned that users spent a long time finding where to sign in, were confused about clicking the down arrow to open up more details, and had trouble looking for the saved ideas. They did know that each card was a different idea and the search bar/category options could help them find ideas.

Hifi Mockups

The saved button is now apparent. The downward button to open up details is gone. Instead, users can just click on the card to view more details. 

Implementation Details 

Technical implementation

  • The DreamDates website application is hosted on Netlify for the front end and Heroku for the backend. The tech stack we used was React for the front end, Express and node for the backend, and PostgreSQL integration for our database.

Technical challenges

  • The most difficult part of the development process was creating user authentication with features being restricted based on whether the user was logged in or not.
  • Some scaling issues that come to mind is that we are using several different external APIs to generate our data, especially when we start to support multiple locations

Key Takeaways

  • Developing a better understanding of how to create the backend server and hosting it.

Future Steps

As a team, we’ve decided to keep working on DreamDates for the foreseeable future. We see it as a great avenue to continue to gain valuable experience in building a real-life technology product.

We have a host of features and improvements planned as we continue to work on the project. Some key features we’ve identified from our user interviews and testing sessions include: making our date details richer with content like reviews and custimer videos, support for more locations, filters for our home page and more. We look forward to implementing these features to create a better experience for our users.

Learnings

Product Manager Learnings:

Osaru Ize-Iyamu

  • I learned different communication approaches to ensure everyone on the team is being carried along and has a good understanding of our problem and solution.
  • I learned how to prioritize and descope features based on value and effort to deliver an MVP within a short timeframe.
  • I also learned how important it is as a PM to be several steps ahead of the team’s current tasks in order to provide clarity and direction effectively.

Designer Learnings:

Chelsea Leung

  • Don’t delete-make copies because most of the time I took designs from old ideas
  • Communicating often helped prepare me for my next tasks-daily standups work well!
  • Iterating based on overall research, not just one person’s feedback gives a more solid reason for why designs took place
  • I have to be flexible to make changes to designs based on the feasibility of the code
  • I posted on LinkedIn so that I could remember my learnings and continue to apply them!

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:

Damian Kohut

  • I learned how important communication is between a team that are assigned with specific roles
  • I learn how to work with different people and different ideas and come together and find one unique idea 
  • I learn how to show humility by understanding that my ideas may have not always been the best idea
  • Improving my technical skills

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:

Alvin Chou

&

1. Much like everyone else the importance of communication.

  • Setting clear goals and allowing everyone to contribute their thoughts is key to the overall success of the project

2. I really enjoyed collaborating with people not only in my role but in different roles while leveraging a diverse set of skills

  • I learn a lot about keeping accessibility in mind from the designer as well as how amazing Figma is.
  • I got to learn a bit about backend languages

3. Overall learnings, how hard the entire process is prior to development,  problem statement, and research. Working in an agile environment, sprints, and retro. Improving my overall technical skills

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 one of the most important aspects when it comes to working together is communication. We also learned how important it is to spend the needed time learning about our problem space. We made a pivot in week 2 from our first problem space after doing a bit more critical thinking and with our next problem we made sure we spent time thinking critically and developing our problem space.