Inspiration
Grocery shopping can be a real chore. First, you need to write a shopping list—which will inevitably end up lost or crumpled in the bottom of your pocket. Afterward, you’ll need to scout for a grocery store that not only has all the items you need, but also won’t break your budget. And now that you've found the store and purchased your items, you soon realize you’ve impulse bought far too much parmesan cheese and avocados. ( What do you even cook with that?)
But what if you had an app that takes the inconvenience out of grocery shopping and turns it into a fun and (literally) rewarding experience? Introducing KartKat, a one-stop app for all your grocery shopping endeavors, starring Kat as your interactive and helpful feline grocery shopping assistant!
What it does
With KartKat, you have the ability to create and save shopping lists for future use. Within each shopping list, you can easily add items as needed. When you find what you're looking for, simply cross it off with the click of a button. If you accidentally mark an item as done, just click the checkbox again to uncross it. If you decide that a particular shopping list is no longer needed, you can effortlessly delete it—no more paper waste!
But KartKat offers much more than just a shopping list manager! It features an AI-powered grocery assistant named Kat, who can provide you with recipe suggestions based on your shopping list. Kat may even recommend additional ingredients to purchase to further enhance your meals!
The app also includes a convenient map feature, allowing you to locate nearby grocery stores. Just enter a start location and the radius you’re willing to travel, and grocery stores in the surrounding area will be marked. Click on a store location, and you'll receive directions to get there. Whether you choose to drive, bike, or walk there, the app will show you the distance in miles and an estimated time of arrival. Stores are also listed and ranked based on distance and travel time. Plus, you can select your saved shopping lists to see which stores offer the best prices on the items you need, helping you save money. Never make an uninformed shopping trip ever again!
Additionally, you can earn animated badges as rewards for completing specific tasks. For instance, adding fruits or vegetables to your list and crossing them off will earn you the Healthy Eating badge. Yum! Or adding items from women-owned businesses will grant you the Female Empowerment badge. Girl Power!
How we built it
The back-end was built using python with the django framework. The front-end was built with Javascript, HTML, and CSS. Google API was used to power both the login and map features. Additionally, Kat, the interactive grocery shopping assistant, was powered by OpenAI API.
Challenges we ran into
This project was our most extensive use of JavaScript yet. This project was very much like a puzzle—we had all the pieces to build the final product, but we had to carefully plan and figure out how all the pieces fit together to make a coherent image. Managing the flow of data between JavaScript, HTML, our database, and our AI made integration challenging at times.
Accomplishments that we're proud of
We are feline pretty proud of ourselves for creating our AI-powered assistant, Kat. This is our first time incorporating generative AI in one of our projects, and it turned out purr-fectly! We love her catty-ness and her cat puns are paw-some. (And, yes, she may have rubbed off on us!)
What we learned
We discovered how to train an AI chatbot by diving into prompt engineering. This meant figuring out how to craft and tweak prompts to get the best and most relevant responses from the AI, which really helped us improve its conversational skills and make it more effective.
We also learned a lot about the intricacies of JavaScript, particularly how it interacts with HTML. As the project evolved and became more complex with each feature we implemented, we found ourselves needing to conduct additional research to understand these interactions better.
What's next for KartKat
We would like to include more badges—some ideas include: an eco-friendly badge for biking/walking instead of using a car, a balanced-diet badge for having a list that contains at least one item from each food group, a keeping-it-local badge for buying from the closest store available from your start location, etc.
Another feature that we can see being near implemented is the ability to interact with other users. This includes friending users, sharing grocery lists, displaying badges, sending shopping challenges, etc. Grocery shopping can be as collaborative—or as competitive—as the user wants it to be.
Log in or sign up for Devpost to join the conversation.