Developing "Bochi-Bochi", an App to Easily Find Cheap Ingredients
"Is the cabbage at this supermarket a bit expensive? Is there anywhere else cheaper?" From such small daily questions, we have developed a web app "Bochi-Bochi" that allows you to easily compare the prices of ingredients at different supermarkets.
https://bochi-bochi.vercel.app
How to Use the App
From the top page, click on Search for Supermarkets.
Next, choose how you want to search for supermarkets. For example, click on Search from Current Location. I don't want to disclose my current location, so I'll omit the images from here.
A list of nearby supermarkets will be displayed on Google Map. Also, ingredients are displayed at the bottom of the screen. Clicking on the displayed ingredients will make it clear at a glance where you can buy them cheaply. The ingredients displayed are limited to those registered at the supermarket.
※ The supermarket's ingredients are registered once by AI scraping.
Results of Creation
Since using this app, my wife has been saying things like, "The cabbage is cheaper at this supermarket," and "The ground meat is at that supermarket," and enjoying shopping with satisfaction. The app also has a feature that allows you to easily register price information of ingredients using the receipt after shopping. In addition, we have built a system that automatically collects and registers supermarket ingredient data using AI technology. We use Google Map for supermarket search and display, and by making good use of the free tier, we are able to obtain supermarket information while keeping costs down.
Supermarket with All Cheap Ingredients
However, one day while using this app, a supermarket where "all ingredients are cheap" opened in my neighborhood. As a result, we started doing most of our shopping there. As a result, the frequency of use of the app itself has decreased. (laughs)
Development Memo
OpenAI Talk
When integrating OpenAI into the system, accuracy improved by dividing the process into stages rather than doing the whole process at once. Specifically, in the process of creating structured data from receipt images, it was found to be effective to first extract text from images using OCR, and then analyze the extracted text with OpenAI. Also, by keeping the instructions simple, we were able to achieve more accurate results. For example, by making the question clear as to whether the product name belongs to the product category or not, the accuracy of the analysis improved.
Technology Stack Used
The following technology stack was used for development.
- Web Framework
- Next.js
- API
- tRPC
- Database
- PlanetScale
- Prisma
- UI
- @tremor/react
- State Management
- jotai
- Map Related
- @vis.gl/react-google-maps
- Google Places API
- Receipt Data Extraction
- Google Cloud Vision
- OpenAI
- Scraping
- Crawlee
- Cloud Run Jobs
- OpenAI
During development, I was able to proceed while confirming the direction of the app through direct feedback from my wife, which was a very enjoyable experience. There is still room for improvement in UI/UX design, but at this point, I plan to continue using it as it is for personal use.
In conclusion
Finally, I recently registered with Bluesky. If you're interested, please follow me.
Share
Related tags
- Created an App to Consistently Record and Visualize Data in a Free Format
- What I Learned from Refreshing My Blog Page with Qwik
- Introducing AI Ghostwriter - A Tool to Improve Writing Efficiency
- Development of Stable Diffusion API
- Defining Fragments Composed in Micro Frontends as Web Components and Sharing them with Module Federation
- Created OEmbed and OGP WebComponents for use on my blog site
- Things I Learned from Developing Chrome Extensions (Manifest V3)
- If you're writing in Markdown, Rocket, an SSG that uses WebComponents, is recommended!
- Refreshing Silverbirder's Portfolio Page (v2)
- I Made an API That Only Returns Google Account Images
- Building a TikTok Scraping Infrastructure on GCP and the Challenges Faced
- Micro Frontends on the Client Side (ES Module)
- Micro Frontends with Zalando tailor (LitElement & etcetera)
- Micro Frontends with SSR in Ara-Framework
- Created a GAS Library, zoom-meeting-creator, to Automatically Generate Zoom Meetings
- Introducing a Tool for Bulk Updating Account Images and What I Learned
- Cotlin is a Tool for Collecting Links on Twitter, Discover Presentations from Around the World
- I tried creating rMinc, a service that registers GMail to GCalendar
- I Tried Making a One-Frame Comic Search Service Tiqav2 (Algolia + Cloudinary + Google Cloud Vision API)