Skip to main content
PromptQuorumBuilt for humans. Structured for AI.
Home/Power Local LLM
Productivity & Knowledge Tools

EverShelf Review: Self-Hosted Pantry Manager with Optional AI

·8 min readBy Hans Kuepper · Founder of PromptQuorum · Discovery engine for open-weight & open-source AI

EverShelf (v1.16.16 as of 1 November 2026) is a free, MIT-licensed pantry manager you host with Docker, whose AI features can be switched off or pointed at Gemini, OpenAI or a Llama server of your own. Per its site, inventory and history stay on your server, while AI requests leave it unless you choose the Llama option. It is a household tool, not a chat assistant.

Key Takeaways

  • Maintenance: version v1.16.16 was released on 25 October 2026 and the repository changed on 1 November 2026, so no stale-project warning applies; the project started in March 2026.
  • Operator: the README credits one developer, Stimpfl Daniel; the code is on GitHub under the MIT licence.
  • Setup: Docker Compose from the README plus a hand-edited .env file; AI needs a provider key or a Llama server address.
  • Cost: free; the site lists optional donations and no premium tier.
  • Scope: pantry and shopping management, so this is not a language-model app.

📍 In One Sentence

EverShelf is an open-source, self-hosted pantry manager that tracks stock, expiry dates and shopping lists, with optional AI helpers for recognising products and writing recipes.

💬 In Plain Terms

You run EverShelf on a home server, scan products with a phone camera, and it tells you what is running out or about to expire and what to buy.

📌Note: This review is based on the project's website, README, wiki, example configuration and GitHub activity, checked on 1 November 2026. PromptQuorum has not installed EverShelf, so scanning accuracy, AI quality and speed are not assessed.

EverShelf is a free, open-source pantry manager you host yourself, with barcode scanning, expiry tracking and shopping lists; its AI features are optional and run through Gemini, OpenAI or your own Llama server. It is not a chat or LLM app. This review reflects its website, GitHub repository, wiki and configuration files as checked on 1 November 2026.

EverShelf Review: Self-Hosted Pantry Manager with Optional AI

What Is EverShelf?

EverShelf is a self-hosted web application for tracking what is in your pantry, when it expires and what to buy next. The README calls it a "self-hosted pantry manager — inventory, barcode scan, AI recipes, less waste"; it is written in PHP with an SQLite database and a single-page front end, and the code is open source under the MIT licence.

The README credits one developer, Stimpfl Daniel (GitHub: dadaloop82), and asks for more contributors. An unrelated iOS app from Joshumi Technologies uses the same name; the README states that there is no affiliation.

Get It

EverShelf is a server you install yourself; the documented route is Docker Compose, and phones and tablets reach it through a browser or the Android kiosk app.

Server (Docker Compose)

How to get it:
README quick start: clone the repository, copy .env.example to .env, run docker compose up -d

Browser and phone

How to get it:
Open the server address in a browser (port 8080 in the supplied compose file); on a phone, add it to the home screen

Android kiosk tablet

How to get it:
evershelf-kiosk.apk (version 1.7.24, Android 7.0 or later)

Website

How to get it:
evershelf.site

Privacy statement

How to get it:
evershelf.site, Privacy section: a short statement on the home page; no separate policy document was found

Source code

Demo

How to get it:
evershelf.site/demo, which the README says includes AI

Version reviewed: v1.16.16, published on 25 October 2026 per the GitHub release; the repository's last change was on 1 November 2026. Installing needs a terminal, Docker and a hand-edited .env file, so this is a developer-style setup rather than a double-click install. The GitHub release list carries only the Android kiosk APK.

Requirements

The sources give no RAM or CPU minimum; the stated needs are Docker or PHP 8.0+, a camera for scanning and, for AI, a provider key or a Llama server.

Server

What the sources say:
Docker with Compose, or a PHP 8.0+ web server pointed at the repository root with a writable data/ folder

Storage

What the sources say:
SQLite database in the data volume; the built-in backup is stored in that same volume, so copy it elsewhere

Memory and CPU

What the sources say:
Not stated in the sources read

Camera

What the sources say:
Barcode scanning uses the device camera in the browser (QuaggaJS, per the wiki)

Kiosk

What the sources say:
Android 7.0 (API 24) or later; optional Bluetooth kitchen scale support

AI

What the sources say:
An API key for Gemini or OpenAI, or the address of an OpenAI-compatible Llama server such as Ollama, llama.cpp or vLLM

Network

What the sources say:
Built for a trusted home network; for internet access the security policy expects your own authentication layer

These items come from the README, wiki and SECURITY.md; PromptQuorum did not measure resource use.

How to Get Started

These steps follow the project's README; PromptQuorum has not run them.

  1. 1
    Fetch the code and the config template
    Why it matters: Run git clone for the repository, then copy .env.example to .env in the project folder.
  2. 2
    Choose the AI setting
    Why it matters: In .env, set AI_ENABLED=false to run without AI, or set AI_PROVIDER to gemini, openai or llama and add the matching key or base URL.
  3. 3
    Start the container
    Why it matters: Run docker compose up -d and open http://localhost:8080; to update later, the README gives docker compose pull followed by docker compose up -d.
  4. 4
    Pair your devices
    Why it matters: If API_TOKEN is set, the web interface asks for a one-time pairing code, shown under Settings, System, Security on a paired device or in the server log.

Key Features

Every item below comes from the project's README or wiki; none has been tested by PromptQuorum.

  • Inventory. Barcode scanning, storage locations, expiry dates, opened packs, favourites and CSV import and export.
  • Shopping. A smart shopping list with anti-waste quantities, recipes that add missing items after deducting what you have, and optional Bring! sync.
  • Cooking. Step-by-step recipes with spoken instructions, timers and zero-waste tips.
  • Alerts and calendar. Expiry notifications through ntfy, a JSON webhook or Home Assistant, plus an ICS feed for Google or Apple Calendar.
  • Integrations. A REST API, an MCP server, a Home Assistant integration in a separate repository, a Health Bridge with Fuel Mode, and the Android kiosk with a Bluetooth scale gateway.

AI Features and Where They Run

One AI provider is active at a time, chosen in .env: Gemini, OpenAI, or "llama", an OpenAI-compatible endpoint you run yourself; AI can also be switched off.

  • Product recognition. AI identifies a product from a camera photo, and with a Gemini key it can be asked about barcodes that other lookups miss.
  • Expiry dates. AI reads a photo of the label and fills in the expiry field.
  • Recipes and chat. AI writes recipes from what is in the pantry and offers a chat; recipes can also come from a connected Mealie instance.
  • Providers. The example configuration documents Gemini, OpenAI with a changeable base URL and model, and a Llama option for Ollama, llama.cpp or vLLM. The wiki describes the AI features in terms of Gemini and does not say which of them work with a local model.
  • Cost controls. The example file sets a daily cap on Gemini classification calls and can estimate token costs.

Data Flow and Privacy

The site states that inventory and history stay on your device or home server, that AI is optional and that there is no telemetry. The architecture notes describe a SQLite database in the data folder, and the security policy assumes a trusted home network.

Outside requests named in the sources: the AI provider you pick (Gemini or OpenAI, unless you use the Llama option), Open Food Facts for unknown barcodes, Open Prices for price estimates, and optional services such as Bring!, ntfy, Google Drive backup and a PayPal donation link. Error reports go to a local, redacted log, and sending them to GitHub is a second opt-in. The README says a one-time dialog offers a donation or nothing and that no advertising is shown. The public demo uses cloud AI.

📌Note: These are the project's declarations, not audit results. PromptQuorum has not inspected network traffic or the source code.

Who Should Use It

  • Self-hosters with a Docker server or NAS who want a private pantry and expiry tracker.
  • Households that cook from the pantry and want a shared shopping list, expiry alerts and recipes built from what is on hand.
  • Home Assistant users who want expiry and shopping data in their smart home or in an MCP-connected agent.

What We Could Not Verify

  • AI quality. Product recognition, expiry reading and recipe quality were not tested, and the sources do not say which AI features work with a local Llama model.
  • Maturity. The project began in March 2026 and credits one developer; PromptQuorum did not assess its stability or security.
  • Security documentation. SECURITY.md still lists 1.7.x as the supported line, well behind the current v1.16.16.
  • Data claims. "No telemetry" and "data stays at home" are the project's statements; traffic was not inspected.
  • Hardware needs. No RAM or CPU minimum is documented, and speed on a small device such as a Raspberry Pi was not checked.

Competitors and Alternatives

The directory has one other review in the same smart-home layer: a voice assistant inside Home Assistant, the platform EverShelf offers an integration for. The project's own site compares EverShelf with Grocy, Mealie and KitchenOwl; those pantry and recipe managers are not in the directory, and PromptQuorum did not verify that comparison.

Home Assistant Assist

Platforms:
Home Assistant, web, iOS, Android
Price / license:
Free / Apache-2.0
Key difference:
Voice control for a smart home, not a pantry tracker
Articles about Home Assistant Assist (1)

Confirm each app's current price, license and platforms on its own page.

Compare in directory

Frequently Asked Questions

Is EverShelf a local LLM?

No. It is a pantry manager written in PHP; its AI is delegated to Gemini, OpenAI or a Llama server you run, and the site says the pantry features work without AI.

How do I back up my data?

The release notes say a daily backup runs as a database snapshot, but it is stored inside the data volume, so copy it off the volume yourself.

Does it work with Home Assistant or AI agents?

The repository links a Home Assistant integration (ha-evershelf) and an MCP server for agents; PromptQuorum tested neither.

Does it work on a phone or tablet?

It opens in a browser and can be added to the home screen, and the Android kiosk app is meant for wall-mounted tablets. The site and README link no App Store or Google Play listing.

Which languages does the interface support?

The README lists Italian, English, German, French, Spanish and Chinese, and the app opens in the language of a link such as ?lang=de; contributors add a language by translating translations/en.json.

Verdict

EverShelf is a free, actively updated way to track a pantry, expiry dates and shopping on a server you control, with optional AI for recognising products, reading expiry labels and writing recipes. Against that, setup needs Docker and a hand-edited .env file, the AI runs on Gemini or OpenAI unless you configure your own Llama server, the project is under a year old, and none of the AI or privacy claims could be checked here. It suits households that already self-host; anyone who wants a double-click app or a language-model assistant should look elsewhere.

Sources

← Back to Power Local LLM

MCP