Inspiration
CulinAIze was inspired by many cooking websites, like Cookpad, Allrecipes, BigOven, and much more. Though many of those websites have their own recipe finding tool, there is no real interactivity between the user and the recipe finding experience. ChatGPT, Gemini, and other modern language models can do this, but they are somewhat unreliable in terms of finding the accurate information, especially on their free models.
Through CulinAIze, we plan to bring a cheaper experience of finding recipe easily but still maintain the same fun in using language models, we wish to broaden the horizons of the world of cooking, while having exciting interactivity at the same time. Plus, we think this will be a good challenge for us, and a stepping stone to reach greater heights.
What it does
CulinAIze is a simple, but packed with many features, but the core behavior of CulinAIze that it has similar interface to many chatbots as we know. It is a simple chat interface where user types what they have and what they need, and CulinAIze will find the best recipe according to those parameters, and the steps to cook it if the user intends to know.
Using RAG, CulinAIze is also packed with image analysis, tailored for cooking purposes. It can scan an image, and try to guess the food inside the image.
Another feature is that CulinAIze is trained with thousands of data of cooking tips, so it can provide users how to cook stuff correctly.
How we built it
CulinAIze is a full-stack application built with a modern AI-centric architecture.
Frontend
Every pages made in this project were made and designed using Next.js and React framework to ensure a responsive and intuitive user experience.
Backend
The backend of this project is powered by n8n cloud, which is a high level workflow automation tool that allows users to build automated processes without writing a ton of code. We used this powerful tool to visually build and manage the entire backend logic, from handling user queries to interacting with our AI models and databases.
It is also connected to some food and recipe API such as Spoonacular API to ensure our AI model fetch the correct recipe and the cooking steps.
Other tool that we use for backend is supabase, which is used to handle authentication processes in our project. This way, user can log in to CulinAIze with Google Account, GitHub, or other commonly used platforms.
Challenges we ran into
The original plan was to use OpenAI (ChatGPT) AI model to power our backend along with n8n, this is because n8n platform fully supports OpenAI as n8n have specialized nodes to configure n8n. As result, this would speed up the backend building process dramatically.
However, we find that OpenAI model uses pay-as-you-go payment system, which isn't very ideal for developers like us, who seeks to deliver the best performance on minimum expenses.
As a workaround, we use Gemini AI model instead. However, due to n8n not having a specialized support and lack of proper documentation for Gemini AI model, this was surprisingly difficult to use in n8n and had an insanely steep learning curve. But thanks to the god and our teamwork, we were able to somewhat fix this, even though there is a considerable amount of delay due to not having the best options at n8n platform and Gemini itself.
Another challenge is deciding where to host the backend. Unfortunately, most hosting platforms do not offer free support for AI-based backends. As a temporary workaround specifically for this hackathon, we opted for a two-week free trial of n8n Cloud. This timeframe should be sufficient for the judges to access and evaluate our project before the judging deadline.
Accomplishments that we're proud of
It was a real challenge to use completely different tools that what we have used in other projects before, such as n8n and next.js. We feel very proud after deploying a fully functional AI project that previously we were unsure of due to some challenges and very steep learning curve. But nevertheless, we were able to make an AI chat interface, not just a clone of ChatGPT or Gemini, but in much more specialized usage.
We succeeded in our initial goal: creating a fun, cheap, interactive, and reliable recipe-finding tool/AI companion that improves upon existing solutions.
What we learned
Working with large language models is as much about creativity as it is about logic. We discovered that small changes in how we prompted the AI models could lead to dramatically different outputs. Fine-tuning prompts for both the RAG pipeline and the vision model became a critical skill that greatly improved response quality.
We also learned to use different types of tools that we were not able to use before, such as n8n, next js, and Supabase Authentication.
We noticed that building a specialized AI from scratch is not just a straight path, it is a path full of trial and error: code, debug, repeat, and improve, until we achieve our desired outcome. We identified weak points, optimized system performance, and steadily improve the overall user experience of CulinAIze.
What's next for CulinAIze
In future updates, we currently plan to build more interactivity, such as support towards different file types, chat history, and use more advanced AI models to return the best responses, both in or out of context of cooking.
Built With
- gemini
- n8n
- nextjs
- react
- spoonacular
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.