Menu Buddy is a web application designed to help users interact with menus more easily. It is currently available in production at menubuddy.xyz.
Menu Buddy is a progressive web app designed to empower speech-impaired individuals, such as those who are deaf or have conditions like Aphasia or Dysarthria, in everyday situations like ordering at restaurants and coffee shops. The app allows users to upload an image of a menu, which is then transformed into an accessible digital version with the help of Google's Gemini API.
Once an order is selected, Menu Buddy generates a clear and concise "order card" that can be easily read by cashiers or waitstaff. If the staff have follow-up questions, the app records their voice, transcribes the questions, and even generates buttons for the user to quickly communicate relevant answers.
By bridging communication gaps, Menu Buddy not only simplifies the ordering process for those with speech impairments but also promotes independence and confidence in social interactions.
To set up Menu Buddy locally, you'll need to have npm, Docker, and Docker Compose installed on your machine. Follow the steps below to get the project running:
-
Navigate to the project directory:
cd menu-buddy -
Create a
.envfile in the root of the projectIn order for the project to run properly you must have a Gemini API key.
Copy the contents from the
.env.examplefile into your.envfile and replace the GEMINI_API_KEY value with your real API key. -
Install frontend dependencies
From the root of the project, run the following command:
cd frontend; npm install; cd ..
-
Build and start the Docker containers:
From the root of the project, run the following command:
docker-compose up --build
This command will build the Docker containers and start the application.
-
Access the application:
Once the containers are up and running, you can access the web app locally in your browser at:
http://localhost:3000
-
Get an example input for the app:
To see an example input for the app, visit the following URL in your browser:
http://localhost:3000/example