This post was written by the creator and developer of EverShelf.

We’ve all experienced the "Pantry Black Hole." You buy a jar of gourmet mustard, it migrates to the back of the shelf, and you find it three years later during a move. It’s a tiny tragedy—a waste of money, a waste of resources, and a symptom of a larger problem: our kitchens are often the only parts of our lives that aren't data-driven.

Globally, food waste is a trillion-dollar problem. Locally, it’s a visibility problem. When I looked for a solution, I found apps that were either glorified "To-Do" lists or closed-source ecosystems that wanted to monetize my data.

As a developer and self-hosting enthusiast, I decided to fix it. I built EverShelf.

1. What is EverShelf?

EverShelf is a professional-grade, self-hosted inventory management system (IMS) specifically architected for the home kitchen. It’s built on the TALL stack (Laravel, Livewire, Alpine.js, and Tailwind CSS), providing a snappy, reactive interface that feels like a native app but runs entirely on your own hardware via Docker.

It is designed for two primary use cases:

  • Mobile/PWA: For scanning items while grocery shopping or putting them away.
  • Kiosk Mode: A dedicated, "always-on" interface optimized for wall-mounted tablets in the kitchen or pantry.

2. Why I Built It (The Developer’s Itch)

I wanted to treat my pantry with the same logistical rigor as a modern warehouse. I was tired of "dumb" inventory; I wanted a system that understood my consumption velocity and helped me cook better based on what I actually have.

Most importantly, I wanted data sovereignty. Your eating habits are incredibly personal. I didn't want a cloud provider knowing every detail of my grocery list. EverShelf keeps that data on your server, where it belongs.

3. Technical Deep-Dive: What Makes It Different?

For the self-hosting community, the "how" is just as important as the "what." EverShelf moves beyond a standard CRUD app with several advanced features:

Pro-Level Inventory: Master Data vs. Batches

Most pantry apps use a simple Product -> Quantity relationship. EverShelf uses a professional Master Data vs. Batches architecture:

  • Master Data: Defines the product (e.g., "Whole Milk").
  • Batches: Tracks individual units with specific expiration dates. This enables a true FIFO (First-In-First-Out) logic. When you use an item, the system automatically decrements the batch closest to expiring.

IoT & Hardware: Web Bluetooth (BLE) Integration

This is where the project gets tactile. Using the Web Bluetooth API, EverShelf connects directly to smart BLE scales (supporting various models like the Xiaomi Mi Scale 2). In Kiosk Mode, the scale acts as a gateway: place a container on it, and the weight is tracked in real-time for incredibly granular tracking of staples like flour or coffee.

Predictive Analysis & Consumption Velocity

EverShelf predicts what you’ll need by calculating your Daily Consumption rate. When stock hits a user-defined threshold, it automatically populates your shopping list (with Bring! integration) and estimates the replacement cost.

The AI "Chef" (Gemini Integration)

I’ve integrated an optional Google Gemini AI layer. By providing your own API key, you unlock:

  • Context-Aware Recipes: Suggestions based on your entire inventory, prioritizing items expiring soon.
  • Storage Insights: Tips on how to store specific products to extend their shelf life.

Built for the Kitchen

The UI includes a high-performance barcode scanner (via QuaggaJS) and a Kiosk UX with native Android Text-to-Speech (TTS) for hands-free interaction while cooking.

Community & Internationalization

EverShelf was originally developed in Italian, but it’s built for a global audience. The project uses Laravel's JSON-based translation system, which makes adding new languages incredibly straightforward.

We currently offer full support for English, Italian, and German. If you’d like to see EverShelf in your native language, we’d love for you to contribute! It’s as simple as creating a new JSON file and submitting a Pull Request on GitHub.

Final Thoughts

EverShelf is 100% Free and Open Source (MIT license). It’s a project born out of a love for self-hosting and a hatred for waste. Whether you’re running a massive homelab or just want to save on forgotten groceries, EverShelf is designed to scale with you.

The code is ready for you to fork, and the Docker image is ready to pull. Let’s stop wasting food and start optimizing our kitchens.

Check out the project: