Millions of dollars of perishable foods are wasted every year, normally into a dumpster. What if an app could change this?
We built CherriPick. It incentivizes your everyday grocery shopper to save money.
What it does
This app creates value two ways
- You save money by buying nearly expired groceries
- Grocery store gain revenue from food that would have been wasted
How it works is this - the shopper downloads our app. They buy perishable goods nearing the expiration date, drive home, unload groceries, then use our app.
The user will take a picture of the store receipt. We use OCR (text recognition) to identify the receipt contents - yogurt, cheese, milk, bread, etc. You verbally state what line item is perishable, using IBM's speech to text service. Once a match has been made, we ask the user to take a picture of the perishable good with a visible expiration date on the label. This checks into our backend system and the user gets immediate cashback for the purchase.
We take a service fee for each perishable good bought and bill this to the grocery store. Grocery store doesn't need additional infrastructure, all the work is done by our app and the shopper.
How We built it
We build it in React Native. We needed a mobile-friendly application for push notifications and camera support.
It uses IBM Watson's Speech to Text API to recognize users input. This connects to a backend system, which polls and validates input against how much a user can save on a specific grocery item. On the frontend, we routed different pages using react-navigation library to transition from one step to another.
We made use of Expo-CLI to help facilitate the build process for the React-Native app
Challenges We ran into
Using react hooks on the react-native application. We haven't used it before, I learned how to use
useEffect as well as creating my own functional components.
The challenging parts boiled down to styling. React Native has a weird hybrid flex CSS system that doesn't translate entirely from the web, so there's many caveats to learn. We figured it out eventually with a lot of trial and error
Getting the build process to deploy from Expo in an .APK package took some guesswork and blog-reading to figure out
Accomplishments that I'm proud of
Building a working React Native / Mobile application, and deploying it. I never built a mobile application, so this was a first. We created an entire MVP within the span of 2 days having no prior knowledge on React Native.
What I learned
- React Native and React Hooks.
- Mobile App Deployment & integrations
- Local storage in mobile apps
What's next for Cherri Pick
TBA, still need to dedicate some time deploying it to google play store