Inspiration
The idea for our Recipe Finder app stemmed from the common hassle of searching for recipes and the desire to leverage technology to simplify the process. We envisioned a platform where users could easily generate recipes based on their preferences and even snap pictures of food to receive relevant recipes. Additionally, we were inspired to explore and incorporate the latest technologies into our project.
What it does
Our app is a full-stack application with a Spring Boot backend, React frontend, and MongoDB database. It allows users to generate recipes based on food names or images. The users customise and save recipes for later viewing.
How we built it
We embarked on the project with a steep learning curve, diving into Spring Boot by studying documentation and tutorials. Initially, we aimed to integrate generative AI using VortexAI from Google, but the paid nature of the service prompted us to pivot to the Gemini API. Since Gemini is relatively new, there is limited community support. Also, we did prompt engineering with Gemini to ensure that it only gives results in the required JSON format. In the end, we connected our React frontend to Gemini API and to our Spring Boot backend, enabling users to access recipes based on text or uploaded images.
Challenges we ran into
The journey was not without its challenges. The realisation that VortexAI was a paid service forced us to rethink our strategy and adapt to the free Gemini API. Integrating the Gemini API proved challenging, as its novelty meant limited resources and documentation. We encountered difficulties in uploading images to the API, which consumed significant time and effort. Additionally, building the Spring Boot backend posed a challenge due to our limited prior experience with the framework, necessitating on-the-fly learning. Further, we had to do a lot of trial and error for prompt engineering to ensure it displays recipe in the correct JSON format.
Accomplishments that we're proud of
I'm proud of our achievements during the hackathon. We successfully built a full-stack application in a short time, which was a significant accomplishment for us. Throughout the process, we learned a great deal, enhancing our skills and knowledge in various technologies.
Participating in my first hackathon was an amazing experience. Despite the challenges, I kept coding until the project was successful, which left me feeling accomplished and fulfilled. Building a unique project using generative AI was particularly satisfying, showcasing our creativity and problem-solving abilities.
The journey was challenging, but our persistence and dedication paid off. We overcame obstacles and achieved our goals, which was incredibly rewarding. Overall, the experience taught us valuable lessons and left us excited to continue exploring new opportunities in software development.
What we learned
Technical Skills: Building a full-stack application allowed us to deepen our understanding of various technologies, including Spring Boot, React, and MongoDB. We gained hands-on experience in developing both backend and frontend components, honing our programming skills along the way.
Problem-Solving Abilities: The challenges we encountered during the hackathon tested our problem-solving abilities. We learned to approach problems systematically, breaking them down into manageable tasks and exploring creative solutions to overcome obstacles.
Time Management: Working within a tight timeframe taught us the importance of effective time management. We learned to prioritize tasks, set realistic goals, and allocate our time efficiently to meet deadlines without compromising on the quality of our work.
Adaptability and Flexibility: The need to pivot from our original plans and adapt to new circumstances taught us the importance of flexibility in the development process. We learned to embrace change, adjust our strategies, and explore alternative solutions to achieve our objectives.
Collaboration and Communication: Working as a team enhanced our collaboration and communication skills. We learned to effectively communicate ideas, delegate tasks, and support each other throughout the project, fostering a positive and productive working environment.
What's next for RecipeGemini
We're excited to introduce personalized user profiles, allowing individuals to save their favourite recipes, and track cooking histories
In addition, our goal is to harness the full power of the Gemini API by extending its capabilities beyond recipe generation. We envision providing real-time cooking support, enabling users to ask questions, seek advice, and adjust recipes based on portion sizes or dietary requirements.
Further, porting RecipeGemini to mobile platforms will greatly enhance its accessibility and convenience. With mobile compatibility, users can effortlessly capture and store recipe photos, access cooking instructions on the go, and seamlessly integrate RecipeGemini into their daily culinary routines.
Overall, our approach involves implementing these features iteratively, prioritizing user feedback and continuously refining the user experience.
Built With
- geminiapi
- generativeai
- java
- javascript
- monodb
- promptengineering
- react
- springboot
- tailwindcss
Log in or sign up for Devpost to join the conversation.