Hey, I'm Hungry helps eliminate food waste buy connecting hungry users with people who have excess or leftover food.
Overview • Usage • Web App Installation • Web App Usage • Requirements • Hardware Installation • Hardware Usage • Google Assistant • License
HeyImHungry is a platform through which individuals, companies, and food banks can list available food for hungry individuals to claim and consume. We have built a web application using React. We have also built an Actions on Google application that uses DialogFlow for intent recognition to allow users to request food from posted listings and post new food listings. We have also written code to be deployed on small computers like Raspberry Pi that enables using motion sensing and image recognition to automatically create new listings to HeyImHungry.
The web application is a single-page application built with React that shows food listings and allows posting of new food listings and requesting existing listings. The hardware device performs the image recognition on the device and interacts with the API automatically.
To install the necessary prerequisites to run the web app, run
$ git clone https://github.com/samlehman617/HeyImHungry
$ cd HeyImHungry/app
$ npm install
from the command line
To run the web app, simply run
$ npm start
from the command line
The food recognition application is a docker container that detects motion using the motion sensor (if unavailable, falls back to camera) to detect when new items are placed in the DropZone and uses image recognition to create a listing for the newly added items.
- Linux computer such as Raspberry Pi and accompanying hardware (SD card, power supply)
- Camera (such as camera modules for Raspberry Pi or a USB webcam)
- (Optional) Motion sensor
On the machine you intend to run the food recognition software:
- Install docker
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
# Optional
$ sudo usermod -aG docker {your-user}
To start the service on your machine, run
$ sudo docker run \
-p 3000:3000 \
--name HeyImHungry \
--restart unless-stopped \
samlehman617/HeyImHungry
To enable the service to start on boot, run:
$ sudo chmod +x detector/HeyImHungry.service
$ sudo cp detector/HeyImHungry.service /etc/systemd/system
$ sudo systemctl enable HeyImHungry
on systemd-based distros.
Actions on Google project to allow users to request a claim on a listing or post new listings from the Google Assistant.
Initiate an interaction with HeyImHungry by saying talk to HeyImHungry
after activating Google Assistant.
Say one of the following:
I have extra food
I have leftovers
Create a new listing
Say one of the following:
I'm hungry.
I need food.
What food is available?
Claim listing number {listing number}