COLAB25 PORTFOLIO

SpeedyBites Mobile App

A mobile app designed to enhance your dining experience. Discover nearby food trucks seamlessly, join virtual waitlists, and receive instant real- time updates. This mobile app aims to streamline the waiting process, providing users with an efficient way to enjoy on the go dining.

Product Experience

Problem Background  

In the traditional food truck dining experience, customers often face the challenge of long and unpredictable lines, leading to a time-consuming and inconvenient wait. This waiting process not only affects customer satisfaction but also poses operational challenges for food truck vendors. Recognizing this is an issue, the need for a solution becomes apparent.  

Research Insights 

In our effort to improve the food truck experience, we conducted thorough user research, including interviews and surveys, to understand the expectations and challenges faced by regular food truck users.

The insights from our research revealed that 22.2% of surveyed individuals found their food truck waiting experience to be lengthy and frustrating, while 66.7% considered it a moderate wait time. Only 11.1% expressed satisfaction with the current state. This data clearly indicates the need to enhance the waiting experience within the food truck industry.

In addition, when we asked users about their openness to using a mobile app for joining a virtual waiting list and receiving real-time updates about their queue status, an impressive 77.8% responded positively. This statistic strongly supports the identified issue highlighted in the problem background.

User Pain Points

From the interviews conducted with both food truck users and owners, these are the pain points that were discovered. 

  • Long Wait Times: Customers often had to endure long and unpredictable lines at food trucks, leading to frustration.
  • Uncertainty: Lack of information about wait times and food availability made the dining experience uncerating, discouraging potential customers.
  • Insufficient Communication: Food truck vendors faced challenges in efficiently communicating with customers.
  • Limited Visibility: Customers had limited visibility into the location and availability of nearby food trucks, making it challenging to make informed decisions about where to dine.

The following chart serves as an illustration of the pain points mentioned above: 

Feedback

Key insights from user research revealed compelling challenges in the current food truck experience:

  • The anticipation of a quick meal often turns into frustration due to misleading wait times.
  • Lengthy waiting, particularly during peak lunch hours, becomes a significant time consuming issue.
  • Users express the desire for a pre- wait assessment, wishing there was a way to know the expected duration before committing to the line.
  • Lack of effective communication channels from food trucks results in inconvenience, with users having to check social media for updates on delays, menu changes and location.

Solution Explanation

In response to the challenges uncovered through user insights, our commitment to enhancing the mobile dining experience led us to prioritize key features that align with users’ goals and happiness.

Personalized Exploration: Users can utilize their location to receive curated recommendations, ensuring they discover the perfect nearby food trucks effortlessly.

Effortless Virtual Waitlists: Access information about wait times and join virtual queues with minimal effort and full transparency.

Real-Time Queue Updates: Stay in the loop with instant notifications on your place in line, fueled by real-time data, ensuring you are always well-informed.

Menu Exploration: Preview the food truck menu in advance, allowing you to be ready to order when it's your turn to head to the food truck.

By prioritizing personalization, transparency, and real-time updates, we aim to empower users to make the most of their mobile dining experience.

LoFi Wireframes

Prior to delving into low-fidelity wireframes, a meticulous examination of potential tasks and user flows was conducted. The objective was to identify a pivotal aspect that aligned with both user goals and the practical constraints of an MVP. Considering feasibility, time constraints, and user priorities, we honed in on the user's journey in joining a virtual waitlist as the primary focus.

This decision laid the foundation for the inception of low-fidelity wireframes, where the conceptualization of the app's interface began to take tangible form. By centering our efforts on this key user interaction, we ensured that our design process was not only guided by user goals but also strategically aligned with the project's scope and development timeline.

Lo- Fi Wireframes

Hi Fi Designs

From refining lo-fi wireframes and incorporating feedback, we transitioned into the dynamic world of high-fidelity design. Recognizing the importance of a smooth onboarding experience, we introduced additional screens while defining a vibrant brand identity with a lively bright red as our primary color. Our commitment to user-friendliness remained steadfast, as we maintained a minimalistic interface to ensure a compelling and straightforward interaction

Hi-fi Mockups

Hi-fi Onboarding Screens 

Hi-fi Confirmation + Notification Screens

Hi-fi Home + Location + Explore Screens

Iterative Design Learnings

Following prototype finalization, we executed a comprehensive usability test plan, using Maze for unmoderated tests with five users focusing on the virtual waitlist task. Results were exceptionally positive, with a 100% completion rate and users praising the straightforward experience. Future app usage received a 4 out of 5 rating, indicating strong endorsement. Users appreciated the visual design elements, simplicity in onboarding, and the flexibility of features, particularly the ability to easily remove themselves from the waitlist for enhanced control.

Implementation Details

Technical implementation

Where is it hosted? 

The Code resides on Github, it can be accessed on https://github.com/Co-Lab-You-Belong-in-Tech/waiting_list

The app is hosted on Zapp.run where it  can be assessed and tested on

What is your tech stack?

The application is built on the Flutter framework for the frontend, providing a cross-platform user interface. On the backend, we are leveraging Firebase to handle server-side logic, manage databases, and handle user authentication.

The Firebase is also in charge of storing and retrieving data 

Our development environment is supported by VSCode and Android Studio, ensuring a smooth coding experience for our team. We are also following industry best practices for version control using GitHub to track changes and collaborate effectively.

Overall, our tech stack is designed to provide a robust, scalable, and user-friendly experience for our food ordering waiting list application.

Technical challenges

What was the hardest part of development?

One of the most challenging aspects of developing our application was fine-tuning widgets and getting them to corporate, avoiding overflows. Another challenge was ensuring that the waiting list dynamically reflects changes in real-time, such as new orders, cancellations, and updates, which demanded meticulous attention to detail.

Implementing a robust and efficient real-time communication mechanism posed challenges in terms of optimizing data transfer, minimizing latency, and handling potential network issues. Coordinating the synchronization process seamlessly across various platforms and devices required extensive testing and debugging.

Does your app have any scaling issues?

As of the current development stage, our food ordering waiting list app is designed with scalability in mind. We have implemented measures such as Code Optimization, Caching, Database optimization, and others to handle potential growth in user base and data volume.

However, it's important to note that the true scalability of the application can be better assessed as we move through various testing phases and gather more real-world usage data. We are continuously monitoring the app's performance and are prepared to optimize and scale the infrastructure if needed.

Our development team is committed to addressing any potential scaling issues that may arise during the app's lifecycle. We aim to provide a seamless and reliable experience for users, and we will be proactive in implementing optimizations to accommodate increased demand or usage patterns.

What are some key takeaways?

Iterative Development:

By focusing on manageable chunks, we ensure each component gets the attention it needs, leading to a higher-quality final product.

This step-by-step approach allows us to adapt to changing needs and feedback as we go, resulting in a more user-friendly system.

Prioritization:

We systematically evaluate features based on their potential impact and strategic importance, allowing us to direct our limited resources towards those with the highest value. This ensures we achieve maximum efficiency and effectiveness in our development efforts.

Future Steps

As a result of the time constraints within the Co.Lab bootcamp program and the scope of our product, as well as our individual life commitments, looking ahead, it is worth noting that, at this juncture, there is no intention to continue with this project. 

Learnings

Product Manager Learnings:

Alseny Boiro

The Co.Lab experience has proven to be exceptionally rewarding. Throughout this program, I have undergone substantial personal and professional growth, evolving not only as an individual but also as a proficient Product Manager and a capable leader. The acquisition of new skills during this tenure has equipped me with invaluable tools that will undoubtedly contribute to my success throughout the entirety of my career.

One of the key takeaways from the Co.Lab experience has been the mastery of time management on an unprecedented scale. Collaborating within a cross-functional team has further refined my ability to work cohesively towards shared objectives. Despite the formidable challenges posed by the dual responsibilities of participating in the program alongside a full-time job, I remain profoundly appreciative of this opportunity.

I express my sincere gratitude for being an integral part of the Co.Lab program, an endeavor I wholeheartedly recommend to those aspiring to embark on a Product Management career fortified with tangible and practical experience.  

Designer Learnings:

Narhalee Rios

In my journey as a product designer at Co. Lab, I've embraced the dynamic, non-linear nature of design. Continuous refinement, fueled by feedback from the team, mentors, and users, has become my foundation for adaptive improvement.

Collaborating closely with a cross-functional team, including product managers and developers, provided insights into both front-end and back-end development, shaping my understanding and allowing me to better support the developers. This collaboration resulted in a well-rounded MVP that harmonizes with user needs, business goals, and technical feasibility.

As a product designer, I've learned to consistently advocate for users. Championing their perspective and articulating design decisions ensures team alignment with user needs and goals.

In summary, my experience at Co. Lab has been enriching. I look forward to applying these refined skills in future projects with enthusiasm, leveraging the lessons learned to contribute meaningfully to the evolving field of product design.

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:

Muhammad Kadir

I have gained valuable insights throughout the development of this project. One key learning has been the importance of effective collaboration within a cross-functional team. I learned to navigate different perspectives and leverage each team member's strengths, which significantly contributed to the project's success.

I have acquired valuable insights and skills throughout my experiences in Flutter, Firebase, and mobile development. Working extensively with Flutter has strengthened my proficiency in building cross-platform applications, ensuring a consistent user experience on both Android and iOS. Additionally, my expertise in utilizing Firebase has allowed me to implement robust backend solutions, enabling real-time data synchronization, authentication, and cloud storage.

In the realm of mobile development, I have honed my ability to design and develop user-friendly interfaces, implement responsive layouts, and optimize app performance. These experiences have not only enhanced my technical competencies but have also provided me with a comprehensive understanding of the mobile development lifecycle.

Overall, my journey with Flutter, Firebase, and mobile development has been instrumental in shaping my skills and enabling me to contribute effectively to projects in the dynamic field of mobile app development

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:

Matthew Van Luxemborg

&

The colab experience was an amazing opportunity to experience a real world environment by building a real product with a team. The challenges and adversities faced forced me to think as a developer and find solutions that were out of my comfort zone.

Coming from a front-end back background focused largely around HTML, CSS and Javascript with experience in React, I am hesitant to call that a stack.  My biggest challenge was learning a new programming language in order to suit the needs of the team's goals. While I didn’t master Flutter I was able to utilize it to help build what we have. Although it was frustrating at times  I ultimately was able to be productive within a few weeks to an unfamiliar language which gives me a huge boost of confidence going forward when faced with unfamiliar problems.

Throughout this experience my team was patient and encouraging. We were able to overcome scheduling and time zone issues to effectively communicate our needs and produce a viable product. I feel a key takeaway is to be open to learning new technology.

In terms of scalability my first thought would be to introduce a live customer database as well as a truck database. It would be a feasible task but would take a considerable amount of doing to implement. There are quite a few interesting directions we can take and I feel the framework of the app would be able to handle the expansion.

Currently we are not hosted but I am looking to go via netlify but need to sort out issues on our repository

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

In our Co.Lab journey, we seamlessly collaborated across product management, design, and development, evolving into a unified team of adept problem-solvers.

Our success lies in the foundation of effective communication and teamwork. In design, we prioritized user perspectives and embraced iterative processes. In development, we navigated diverse viewpoints with expertise in Flutter, Firebase, and mobile development.

Our commitment is evident in our regular team meetings, ensuring alignment and facilitating discussions to resolve differences in product direction. This process aids in identifying key priorities, allowing us to maintain a laser-focused approach.

Through overcoming challenges, from mastering new programming languages to tackling logistical hurdles, we've emerged as versatile contributors. Eager to apply our honed skills to future projects, we value the nurturing, learning-focused Co.Lab atmosphere that has been integral to our collective growth.