COLAB8 - Web App

SeeFood

“Where to eat?” is a web app that simplifies the overwhelming task of deciding where to eat.

Problem Space

Busy individuals need a painless way to quickly find a place to eat because so many options make it easy to be indecisive… and who wants to do dishes anyways? Our product will help decide for them!

Problem Background  

Getting take-out and going out to eat can be a fun experience with friends or a great last resort when cooking seems like too much effort. This lends itself to the question: how do I find the perfect place to eat? With so many options out there and a multitude of factors to consider, it can be overwhelming and time consuming to make a decision. 

Why now? The restaurant industry has so many different options but not all of them have the means to pay for visibility on the apps available today. Consumers have more choices than ever today, and oftentimes are delivered curated lists such as sponsored lists or ads on yelp. Our goal is to have an app/product that helps users cut down on the time they spend deciding where to eat and maximize the time they spend experiencing the real thing: good food! 

Research Insights & User Pain Points

Getting takeout or delivery for the sake of saving time means that the individual does not want to spend too much time on thinking about what they are going to eat. If there’s an overwhelming amount of choices, however, deciding on a restaurant can be time-consuming. 

Our preliminary user research to validate this problem with busy individuals found that users overall feel that it’s difficult to narrow down a restaurant from all the available options.

Landing on the Solution

Our product aims to address the pain point of taking too long deciding on a restaurant. By cutting down on the number of options to choose from, we can help users make an easier and faster decision on where to eat. 

Solution Explanation

Our solution is to provide a rapid-fire questionnaire that recommends a restaurant for the user. This way, they can generally identify things they want/don’t want and have a choice made for them to save time. Our starting questions gather information on the users’ location, budget, and takeout preference between delivery and pick up.

Iterative Design Learnings

After we showcased our prototype to the users again, we learned that users were generally taken aback at the start of the questionnaire after they input their zip code. They also had a sense of mistrust on the results page thinking the highlighted top recommendation was a sponsored result.

Low Fidelity Mockups:

High Fidelity Mockups:

GIF links:

Implementation Details

Technical Implementation
  • Where is it hosted? Vercel
  • What is your tech stack? NextJS

Technical Challenges

What was the hardest part of development? Luna mostly programs in Swift while Anika mostly programs in Javascript. Our developers had to figure out a way to work together. After doing some research, they decided to build the web application using NextJS which they both had to learn in order to build this web application. Our developers also ran into a blocker surrounding the API we initially chose. We realized after a week that the API that we planned on using isn’t being updated anymore so we had to do more research to find an alternative API that would work best with our application. 

What are some key takeaways? 

Always have a backup api prepared with an available key. I prefer working with an api that has a sandbox mode and my test code won’t cost an api call. We got stuck part way through development due to this exact issue and had to research and apply to new apis, as we were not away our api was defunct.

Future Steps

Our team would like to continue working on this product after Co.Lab ends. We would focus on implementing a feature that would generate more options if the user does not want the restaurant suggested to them.

Learnings

Product Manager Learnings:

Naomi Park

The opportunity to work on a cross-functional team has been invaluable in understanding the product life cycle. I have learned so much about the sprint cycle and how things are passed around between the PM, Designer, and Developers.

Designer Learnings:

Shiela Prado

Sticking to the core of the MVP is especially crucial when working with a team because everyone has to meet their own deadlines; you have to be accountable with each other! I also learned to be organized with my design files & assets to make sure it’s easy for my PM and developers to inspect my files. Also, I just wanted to say… I’m super proud of each of my team members for trying out new tools for this project!

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:

Luna Perry

Working directly with a PM and designer. I gained a better understanding for agile development and working with a team. Coming from Swift, I had never applied the concepts to web. I learned a lot about Next.js, react, web apps and how routes work.

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:

Anika Custodio

&

My key takeaway is that I experienced what it’s like to work in a team with a deadline. I am also very happy that I got exposed to NextJS. I will continue to learn about NextJS. I especially love the easy deployment feature. I also got more experience with git and merging and I realized I need more practice with git, especially merging.

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

This experience tested our ability to work in an agile manner. As a team, we collaborated effectively to meet upcoming deadlines and communicated to work around our different schedules. We also built a lot of trust across our team in being honest about what tasks were feasible for each sprint and what our scope was.