Using an AI-Powered Proof of Concept for a Client from the Health Food Industry
Since OpenAI released their Assistant API, the possibilities of using their tools have expanded significantly. To take advantage of this, for every business inquiry we receive, we aim not only to meet the immediate business needs behind the contact but also to go the extra mile by preparing something special. Typically, this involves an additional AI-powered proof of concept (PoC) that illustrates how we can enhance a client’s product with just a bit of AI assistance. Today, we want to share an interview with one of our Gen AI Engineers, Sebastian, and showcase one of the PoCs we developed for a sales pitch to a client in the health food industry.
Table of contents
Dima: Hi Sebastian! Could you tell us a little bit more about the AI-powered PoC you’ve recently created with our AI team? Can you describe in a few sentences what it is, and what it does?
Sebastian: Yes, sure! This new solution, which we internally call ‘AI Restaurants,’ was created for a company in the health and food sector. Our goal was to develop a small Proof of Concept (POC) that would enable users to order food from local restaurants while taking into account the user’s health preferences and tastes.
For instance, imagine you want to enjoy a meal but have a limit of a maximum of 500 calories per meal. Perhaps you’re in the mood for pizza or something different from Italian cuisine. This is where our PoC app comes into play.
You could specify whether you are vegetarian or vegan. If you have any other food preferences, allergies, or any specific aversions, such as seafood, you can inform our application about it. Currently, it’s quite basic — you can indicate whether you’re vegan, vegetarian, or have no specific dietary restrictions. With your preferences in mind, the bot will offer you some recommendations.
You need to bear in mind that we prepared this PoC for a particular sales pitch, so it’s very basic. The app isn’t connected to any external APIs. We compiled a basic list of five restaurants, each with 20 meals on their menu. For the PoC, we limited the number of restaurants to ensure the project was manageable and to quickly demonstrate feasibility. Thus, we worked with minimal data, just enough to prove our solution’s potential. Of course, it was designed to be scalable, allowing for future expansion and the possibility of integration with food ordering platforms like UberEats to access their menus. The core principle is that with the right data, the possibilities are endless. The most crucial aspect of this project was the concept itself.
Dima: What was the main challenge behind this PoC idea? We aimed to address a challenge that our potential client in the health industry faced. A long time ago, I worked as a waiter in a restaurant and observed many clients struggling to choose their meals due to dietary restrictions, whether they were vegetarian, vegan, gluten-free, or lactose-free. Back then, I thought that facilitating the decision-making process for restaurant patrons would be beneficial for both groups — clients and staff.
Sebastian: So our PoC addresses a similar problem. So, the AI chatbot we developed asks the user if they’re vegetarian, vegan, or if they have any calorie limitations. The interaction is facilitated through a simple form and a chatbot. We engage in a typical conversation — “Hello, I’d like to eat something today for my breakfast. I don’t want anything heavy, and it should be Italian cuisine.”
The bot then offers suggestions, incorporating not only calorie counts but also the price for a specific restaurant. Furthermore, we enhanced this PoC with the capability to book a table. Users can select their menu and book a table directly! Now, users can say, “Okay, now please book a table for two people for today at 6pm,” and they will receive confirmation that a spot is available, for instance.
Dima: How does the chatbot know how many calories the food has? Do we have it in the data, or somehow it estimates it from the menu description?
Sebastian: So, we developed a simple frontend chatbot application where users can input their queries. Behind it, we have a backend application powered by the Assistant API from OpenAI. At this stage, we do not employ a traditional database. Instead, we store data directly in OpenAI, enabling us to create threads and messages. This method is adequate for a small proof of concept (PoC). Crucially, we utilize a knowledge base that contains all the meal and restaurant information. Therefore, we upload files with a list of restaurants, each complete with descriptions and various details about them.
Dima: How does the chatbot know how many calories the food has? Do we have it in the data, or somehow it estimates it from the menu description?
Sebastian: We have gathered the data from the restaurants. As mentioned, we compiled information on 20 menu items for each local. This data included not only the price and calorie content of each dish, but also whether there was a vegetarian or vegan option available. We then fed this entire list to our assistant, which processed the information in the background to generate recommendations. Our approach was straightforward: we simply input the entire list and awaited future recommendations. Certainly, there’s room for improvement; ideally, we should receive a more curated list of menu items to enable our system to make better recommendations. Please keep in mind that this was a very simple Proof of Concept (POC) designed to test the feasibility of such an idea.
Also, it is important for the performance of the app because if we have a lot of data, then the response time will be longer. You also can imagine that if we had this like on any app, like UberEats or Glovo, then we can just ask the chatbot to give us the right options if we input the calories and general preferences, and they can give us not only the restaurants but actually the specific food options that work for us across the entire food ordering platform. I think it would be super useful for users of such platforms, to reduce the time they need to choose food they want (and can eat), and order it. So essentially, that’s the idea. I think it could be really useful as an addition to these apps.
Dima: And how long did it take for you to create this PoC? And how many people were involved in that?
Sebastian: We prepared it in less than two days. Three people in total were involved — me and two other Gen AI engineers. We divided our work — prepared basic logic and a basic agent for this, also in the code. My colleagues prepared data for this. So I received five files with JSON objects that included data from restaurants. And then we combined it together and prepared a single post application, which we could deploy and show to our client.
Dima: And how long would it take to create a similar app, but connected to a real API or database of restaurants?
Sebastian: The answer is: it depends on the type of data we would have to parse. So it would definitely be a more time-consuming process, I guess around two weeks maybe?
Dima: Can you tell me what you learned or maybe something that surprised you during the creation of this PoC?
Sebastian: I would say that my biggest lesson learned is how crucial it is to properly prepare data. It’s not only vital for this particular app, but also important for similar apps powered by the Assistant API.
Dima: Thank you!
Share this article: