EverShelf — Open Source Pantry & Inventory Manager with Native HACS Integration (Docker, IoT Scales, Kiosk Mode)

:police_car_light: UPDATE (May 2026): EverShelf now has a fully native Home Assistant integration available on HACS! Thanks to the awesome feedback from this community, I went back to work and built a plug-and-play integration with Zeroconf/mDNS auto-discovery (no manual YAML/MQTT setup needed). It features 22 sensors, bidirectional Todo-List sync, native Expiry Calendars, action services, and voice assistant support. :backhand_index_pointing_right: Check out the integration repo here: GitHub - dadaloop82/ha-evershelf: Home Assistant integration for EverShelf — pantry manager with sensors, shopping list, and Zeroconf auto-discovery · GitHub

(Original post below)

Hi everyone!

I wanted to share a project I’ve been working on called EverShelf.

It’s an Open Source, self-hosted pantry and inventory manager designed specifically for "kitchen dashboard" use (Kiosk mode).

The Story: I was tired of "pantry amnesia" and food waste, so I built a tool that runs on Docker and focuses on simplicity and touch-screen usability.

Why I’m posting here: Currently, EverShelf is a standalone app (Laravel/Livewire), but I’ve already implemented IoT Scale support to track food by weight. My next goal is to make it "Home Assistant friendly," and I’d love your expert feedback on how you’d use it.

Key Features:

  • :spouting_whale: Docker-ready: Easy to host alongside your HA instance.
  • :balance_scale: IoT Scales: Real-time weight tracking for inventory.
  • :mobile_phone: Kiosk UI: Optimized for tablets (perfect for those wall-mounted HA dashboards).
  • :locked: 100% Local: No cloud, no tracking.

My questions for you:

  1. What’s the best way to expose pantry data to HA? (MQTT? A REST API for sensors?)
  2. Would you prefer a custom Sidebar integration or just a dedicated dashboard card?
  3. What kind of automations would you trigger with pantry data? (e.g., "If milk < 200g, add to shopping list")

Links:

I’m not a professional dev, just a maker trying to solve a personal problem.

I'd love to hear your thoughts or see a :star: on GitHub if you find the idea interesting!

I'm not in your "target market" here, but I'll just comment on this technical bit: MQTT would be your most platform-agnostic option which would allow other home automation systems to be used too. The other, but native HA solution would be to create a custom integration. It would communicate with your system in whatever way you see fit (via HTTP and webhooks/callbacks would work, e.g.).

1 Like

you can do both and let the user choose what they want to use. (I did the same for my integration)

Hi Pieter, thanks a lot for your technical feedback!

I think you nailed it. MQTT seems like the most logical 'first step' because it keeps the project platform-agnostic, which aligns with my Open Source philosophy. Plus, leveraging MQTT Discovery would make the setup almost seamless for HA users.
I'm also intrigued by the Custom Integration path for the future, perhaps using webhooks to keep the communication real-time without polling.

Since I'm currently refining the architecture, I'll definitely look into implementing an MQTT publisher first.

Do you think users would prefer a single JSON payload with all the pantry data, or individual topics for each 'smart' item?

Thanks Krivatri!

Offering both options is definitely the 'gold standard' for a great user experience.

For the sidebar, I think an iframe approach (or Ingress) pointing to the EverShelf web UI would be the most straightforward path.
Regarding the dedicated card, I'm curious: for your integration, did you build a custom Lovelace card or did you rely on standard HA entities?

I'd love to see how you handled the UI consistency!

take a look at Release release v1.5.6 · KriVaTri/ESPHome-Update-Manager · GitHub and compare the frontend file with v1.5.5
it doesn't take much modification to get the card, it's actually a copy of the sidebar panel.

I think it would need to be individual items, but with categorisation, e.g. "cereals", or "meats", or "beverages", etc.

Thank you @Pieter and @Krivatri for the amazing insights! It’s exactly the kind of feedback I was hoping for.

Based on your suggestions, here is the technical roadmap for EverShelf:

  1. MQTT Topic Hierarchy: I’ll implement individual topics with categorization (e.g., pantry/category/item). This will allow Home Assistant to treat every food item as a proper sensor entity, making automations (like 'low stock' alerts) much easier to set up.
  2. Hybrid UI: I’m checking Krivatri’s repo to see how to bridge the gap between the Sidebar and a dedicated Lovelace Card. The goal is to keep the UI consistent and touch-friendly for those using tablets in their kitchens.

To the community: > If you have a specific 'dream automation' for your pantry (e.g., 'flash lights when milk is expired' or 'add to shopping list based on weight scale'), please let me know! I want to build the logic that actually matters to you.

For those who want to follow the development or try the current Docker version, here are the links:

:link: GitHub (Stars are welcome! :star:): GitHub - dadaloop82/EverShelf: EverShelf: Your pantry's best friend. A self-hosted, Open Source smart pantry manager designed to reduce food waste with IoT smart scale integration and Android Kiosk support. · GitHub

:desktop_computer: Live Demo: https://evershelfproject.dadaloop.it/

Thanks again for helping me turn this 'dream' into a solid tool for every smart home!

1 Like

Hey everyone!

First of all, thank you so much for the feedback you gave me 15 days ago. I took your advice very seriously, went back to my cave, and decided to go the full "native HA solution" route as suggested.

I’m incredibly excited to update this thread and share that EverShelf now has a fully native Home Assistant integration available right on HACS!

I completely skipped the manual YAML/MQTT hassle and built a clean, plug-and-play integration using Zeroconf/mDNS auto-discovery. If EverShelf is running on your network, Home Assistant will detect it automatically.

:warning: Just a quick, important note on how it works: This HACS integration is not the standalone app itself, but rather the component that allows Home Assistant to talk to your server. It still requires your self-hosted EverShelf instance running on Docker. The integration talks directly to your local server, keeping everything 100% cloud-free.

Here is a quick breakdown of what I managed to pack into the ha-evershelf integration:

  • Massive Sensor Array: 16 sensors tracking total stock levels, specific locations (pantry/fridge/freezer), AI API usage, and days to next expiry.
  • Binary Alerts: 6 binary sensors for instant automation triggers (e.g., items expiring today, backup overdue, Bring! connection status).
  • Action Entities & Services: 5 physical buttons and 6 native services available in HA. You can even trigger the AI engine via the Suggest Recipe button and get the recipe result as a native HA notification!
  • Bidirectional Todo Sync: Real-time sync with HA’s native Todo-List. You can check off or add items from either side instantly.
  • Native Expiry Calendar: It automatically populates a native HA Calendar with every product’s expiry date, making calendar-based automations or dashboard card scheduling incredibly easy.
  • Voice Assistant Friendly: Included a quick-add text entity so you can just talk to Assist/Alexa/Google Home and say "Add milk to the shopping list", and it pushes straight to EverShelf.

It supports 5 languages (EN, IT, DE, FR, ES) and runs 100% locally with zero cloud reliance.

You can find the specific integration repository and full installation details here: https://github.com/dadaloop82/ha-evershelf (and it's already launchable via the official My Home Assistant badges for HACS and Config Flow!).

I'd love for you guys to test it out and let me know how it handles your daily kitchen automation. Thank you again for pointing me in the right direction!

Special thanks to @parautenbach and @Krivatri!

2 Likes