Let AI keep track of your food inventory and handle the shopping list for you
This project allows you to create an smart home device, which can manage your
food inventory and make a shopping list at your convenience.
DeepPantry uses machine learning to identify several types of objects, from
images of your pantry (live camera feed). With the help of a Telegram chat
interface, you can specify the required stock for each product and ask for a
list with real-time prices.
| Before | After |
|---|---|
![]() |
![]() |
Nowadays, efficient food resources management has become even more important
for our society. I realized that some household appliance manufacturers have
tried to tackle this problem from AI's perpective, by using image recognition.
Therefore, I thought I was a good idea to create a similar project.
I chose Nvidia Jetson Nano as hardware support. Although there might be better
alternatives to solve this task, such as an IOT schema with a microcontroller and
a centralized computing server, edge computing offers a crucial upside.
Such advantage is personal privacy, as anyone who has access to the data could
extract information about our eating habits and purchasing power, which could
be very profitable for advertising companies.
In my case, security concerns are covered. Both data gathering and processing
are done locally on Jetson Nano. Internet connection is necessary just to
present results to user.
If you want to see how I faced AI training, check this section.
- Nvidia Jetson Nano
- Micro SD card (64 GB recommended)
- Power supply (according to your device)
- CSI/USB camera
Jetson Nano 4GB was used to build this project, however, 2GB version
should work as well. If you experiment issues, follow these or these steps.
If you opt for 4GB version, you definitely need to consider barrel jack.
- USB keyboard and mouse
- HMDI monitor
- Camera tripod
- USB wifi adapter
This project requires a permanent Internet connection, in order to present
results to the user.
First of all, you have to complete the initial set up of your Jetson Nano, which
includes flashing the OS image on your SD card.
This project has been tested under JetPack 4.6.1
Once you boot up, update your system and proceed to clone this repository,
using following commands:
sudo apt update
sudo apt upgrade
git clone https://github.com/AndPerCast/DeepPantry.gitIt's time to configure the project:
The best way to run the project is via a Docker container. There is a simple
Dockerfile located on project's root directory, which you can further
customize if you plan to enhance this application.
You can either build a local image or pull it from Docker Hub.
There is a script called run_app.sh to execute main application inside a
container. For example:
You need to exert sudo priviledges if you are not a member of docker group.
Make sure that you have plugged your camera to the Jetson and it points to
the right place.
Make sure that you have set up a proper .env file.
pwd
# <...>/DeepPantry
# If you choose to build a local image.
docker build . -t deep-pantry
config/run_app.sh deep-pantry
# Else, make sure to specify a proper image tag.
config/run_app.sh andpercast/deep-pantry:latestFinally, head over to Telegram and start interacting with the chatbot.
The /help command will help you to get started.
Application log messages reside on log folder.
You can find more information about API documentation here.
You can find more information about project settings here.
You can find more information about supported AI models here.
You can find more information about project testing here.



