Hacker News new | past | comments | ask | show | jobs | submit login
Grocy: web-based, self-hosted grocery and household management (grocy.info)
648 points by jka 7 days ago | hide | past | web | favorite | 141 comments

This is exactly what I needed and was thinking about building a similar app. But to be really useful and automated, there's a bit long way I'm afraid. The biggest deal breaker is the time spend for the data entry and updates, leaving a pen-and-paper / notes solution still the most easy to use and just visiting local groceries and shops. I was collecting receipts and playing a bit with scanning of these, but the amount of noise in the data and inconsistencies between shops were a bit pushing away (unless you want to dedicate time cleaning the data and training own tailored information extraction models).

One of the options to solve the data entry could be: - good quality automatic scanning of receipts (not only individual barcodes) from shops using OCR possibly supported with image recognition for double-checking (can happen that products will be mis-labelled or without quantities, etc) - when ordering on-line, the receipt should be available, so should be also much easier Yet, not always one will have a meaningful receipt available...

Solved the data entry and being able to predict own's supply needs would be also great to have a up-to date management of the inventory. Here are even more challenges on the tracking of the available goods at home, where these are and how many items (and in what state, expiration date, etc) would require most probably implementing different solutions from IoT (connected cameras, sensors, etc.).

Then, having a connected home with own groceries supplies under control, one can then automate further the shopping process with feeding-back the information about own's demand to on-line groceries one is subscribed to. This can enable customer subscription plans, and for retailer keeping a possible continuous flow of goods. This could be really really useful especially for upcoming months, when it seems like we are expected to spend a bit more time at home rather than usual, hopefully not fighting in the local shops for the last rolls of the new white paper gold.

If you shop at walmart, there is an option to add a receipt to your account by scanning the barcode in the app (or it shows up by itself when you use walmart pay). These can be retrieved online from anywhere (not just the app) and is how I do it, way easier than you think. It basically comes down to

$(".icon-button-children").each((index, item) => ($(item).click())) // expand all items

$(".LinesEllipsis ").each((index, item) => console.log(item.innerText)) // record the stuff

on https://www.walmart.com/account

If you pay from Walmart Pay app, with any card, receipts get added to your account automatically.

But then you have to shop at Walmart.

Absolutely agree with everything you've said. I had dreamed of a Libib[1] for my kitchen, but knew I would have to do all the painful data adding and it was too much of a bother.

The other big challenge I never resolved was how you'd account for e.g. using 1/4 cup of flour out of a bigger volume. Or taken to its extreme, cooking oil. How do you know how much your 'splash' is? You can't predict the remaining volume without a lot of fiddling to measure it and that defeats the purpose.

In the end, I opted for manual databases too, but they're pain to keep up-to-date. I still think there's a lot of value in a database for all-or-nothing style ingredients, but it was enough to deter me. I'm glad someone is less lazy.

[1]: https://www.libib.com/

Isn't this why "Alexa, add flour and olive oil to my shopping list" supposed make it so useful? You know when you are using something that you are almost out, and easy to say out loud to add to a list. It doesn't need to be so granular so something gets a reorder when there is only 2oz of olive oil left.

> The other big challenge I never resolved was how you'd account for e.g. using 1/4 cup of flour out of a bigger volume. Or taken to its extreme, cooking oil. How do you know how much your 'splash' is? You can't predict the remaining volume without a lot of fiddling to measure it and that defeats the purpose.

Definitely. Or, even, just taking some snacks to another room, and later placing it back to an 'intelligent' cupboard, let's say. In extreme cases, one may need be under a constant tracking at home.

But, simplifying, another option may be to use an improved voice assistant when cooking. One would need then to interact with the VA to note and confirm the stuff used. Improved VA, in essence, would try to 'understand' the activities and interact, instead of being a passive one (as most of currently are), that one needs to say commands. This would require adding it access to camera and maybe other sensors available at 'smart' home. Definitely a lot of interesting and challenging problems to tackle not forgetting too about the user privacy part.

My naive solution, assuming a sufficiently "smart" home, would be to have each shelf be an accurate scale. If it's sensitive enough, it should be able to detect the weight of what was consumed.

A shelf for each item?

What you are talking about is called taking inventory. Even if automated tracking is being performed, i.e., by scanning the boxes or containers when they are moved out and updating the quantity in the database, a periodic inventory audit is performed in the warehouse to reconcile the actual number of the product on the shelf with the one derived from reflecting any additions or subtractions of the product.

In the household setting, the most realistic system are we r would be to keep track of the addition (purchase/replenishment) ołl the containers/packages of each product and subtraction when the entire container is used-up and discarded. Obviously, this system would require maintaining at least one spare container for each product and reorder replacement when the remaining inventory count is 1 or whatever number of stock of a specific product one would want to maintain. Partial expenditures (splashes or table spoons of cooking oil, pinch of silt, a number of eggs from the pack, cups of sugar or flour from the container, a serving of cereal from box etc.) of the product from the container wouldn’t be tracked. The inventory would only be updated when the container/package has been fished up or purchased and added to the home inventory. For those items which one wishes not stock more than one container or packaging, a solution would be to label such containers, so that you can re-order the product (via Alexa or Google Assistant or Siri) when the remaining amount of the product is below certain level, depending on the product. I.e., you wouldn’t stock more than one container of milk or eggs. But when you got below half full, you would know to reorder. If certain products are used exclusively by the kids, they should learn to talk to Alexa or let parents know that they would soon run out of the product (they would learn if they want to have the product available). If one would follow this system of continuous replenishment, it might be unnecessary to keep the track of the available stock/inventory. But updating of the inventory database could be done automatically, using designated commands to the voice assists which invoke IFTT engine action sequence in which the product is ordered or added to the weekly order or shopping list and updated in the inventory database as being ordered. Further, the delivery of the orders could be automatically detected by the IFTT email analysis extension, but for accessing the order in the notification and updating the inventory of items delivered in a given order, one would need to write a bit of the code, for each of the suppliers, i.e., Amazon, Jet, Target, Chewy etc. The high turnover items with no reserve (fresh groceries) do not justify keeping track of their inventory, just remember to reorder them or add to the shopping list and complete the recurring task of doing grocery shopping, of which the voice assistants and personal devices could be reminding you about.

For items like oil and flour or other staples, maybe the best option would be to track and learn how often you are buying those items and have it added to your list when the time is approaching.

I think the key is the meal planning. The recipes need to bulk manage the inventories and list as meals are prepared and upcoming. The recipes would need to be cleaned up and normalized.

Just plan for whole bottles / bags and have at least 2 in the pantry. Then record when you run out of a box and buy the replacement.

all shelves with scales all over them for each thing you use unmeasured

An idea I had was coasters for bars and restaurants. You could easily glue those to shelves.

And what’s the point of these coasters?

I built chowcaster to (a) learn jquery mobile and (b) solve a simpler problem: keeping track of what was in the deep freeze in my dettached garage. We used a barcode scanner for data entry, but even this was too much hassle and was eventually abandoned.

A barcode scanner with a scale solves this

Re data entry: was thinking this through a lot recently. Basically what I'd like to build requires either (1) product recognition vision like Google Lens offers, or (2) a barcode scanner and an extensive barcode product database. Both can be combined of course.

My solution would be to read frames from a smartphone's camera until a barcode is detected. This can be achieved with eg Firebase ML, on-device. If a barcode database lookup gives a product, put it on the in/out list. If not, send the frame to a product recognition vision service. This could be Google Cloud Vision AI, but they don't give you access to their product set that backs Google Lens.

Finally, provide controls to adjust the number of items on the in/out list

I thought about OCRing supermarket receipts too but these differ so greatly in layout etc. per country I figured it's not the way to go

Edit: Problem you run into as not all of this can be done on-device is privacy concerns of coursem just my thoughts on what interface I'd like to have

The 'Open Food Facts' and 'Open Product Data' projects could be of interest for barcodes:



I just tested Product Open Data using the barcode from a can of Coconut Milk from my cupboard, and it returned the correct product (including a photograph) and the name of the brand and their owner.

Edit: updated to add Open Food Facts, given that Open Product Data appears no-longer-maintained

Yeah tried it with a variety of products. It doesn't know about enough products, makes entry unreliable. Think of utmost importance here is that the entry works very reliably, if I have to fallback to manual entry on every fifth product, that sucks

If you contribute to Open Food Facts though, you're helping contribute to the database, making it better for everyone. An API to contribute directly from the app would make that super awesome.

Hmm, yep. That's a problem, especially if there isn't a straightforward way to contribute missing products and corrections.

Do you know of any alternative data sources?

Edit: since writing these comments, I've learned that Product Open Data may be unmaintained[0].

[0] - https://discuss.okfn.org/t/can-we-resurrect-product-open-dat...

Yep it's unmai rained and I couldn't find any good alternatives. Which is why I put the whole grocery tracking thing on hold. Barrier here is the lack of accessible data for me

That's a shame. Let's hope better alternatives exist and/or develop :)

I did try Open Food Facts[0] which correctly identified the same product for me -- and allows anyone to enter missing products, a bit like Wikipedia.

User /u/homarp mentions[1] an app which can integrate Open Food Facts with Grocy.

[0] - https://world.openfoodfacts.org/

[1] - https://news.ycombinator.com/item?id=22648741

There is also Food Data Central and Nutritionix

Unless you can build a system that can identify the product as fast as you can pull it out or put in in the fridge or pantry, without holding a phone in one hand, it will be unusable.

Have you tried Google Lens? It offers an experience I'd tolerate, given that one finds a way to remove the need to tap the screen …

"I thought about OCRing supermarket receipts too but these differ so greatly in layout etc. per country I figured it's not the way to go"

People usually shop at the same places and the same things, so they could identify the products in the receipts once and then only update the new ones. Also,You could crowdsource it.

Yep but I was looking for a turnkey solution. What you describe are workarounds. I tried several grocery management apps, and a lot of these did just that: Prompt me for data when a barcode did not result in a matched product. This is not the experience I personally tolerate and am looking for. For an app to get integrated in my grocery shopping, product identification needs to work seamlessly and reliably

Just discovered a potential workaround with one vendor.

It turns out that with an Amazon Prime account and shopping at Whole Foods the entire history is available down the the SKU, quantity, and date. Discovered this when going to order a delivery for the first time in the COVID-19 outbreak - aside from the generic shopping selection, we can also pick from our own previous purchases.

I haven't checked if there are other methods to access the data (e.g., with the app, or some history list), but there's the potential for at least some screen-scraping, and maybe they'll make the history available in a downloadable file if we pester them? It'd certainly help both this app and making their stores a bit 'stickier'.

With the image recognition, I think the dream might be: take a picture of your shopping cart or basket, recognize any product that is at no more than 50% occluded. Put a red square around any item not recognized, let the user pick it up and rotate it until it's recognized.

If you were going to tackle the ingredient data-entry problem, what would your preferred system design be?

On the other end of the system, I'm hoping to implement a way to bulk load recipes into grocy, using the open source recipe-scrapers[0] library.

[0] - https://github.com/hhursev/recipe-scrapers

There are also lots of MealMaster recipes available online at sites like this: http://thehoseys.org/buster/recipes.html

there is https://github.com/Forceu/barcodebuddy that integrates with grocy: "If already in Grocys system, it will consume/add/open the product in Grocy. If an unknown barcode is passed, the product name will be looked up and a corresponding product can be chosen in the Web UI. Tags can be saved - if a new product contains the tag in the name, the product will be already preselected in the drop-down list."

I would imagine that all this tracking & automation would hit have to address the concerns of security/privacy.

Also, costs would simply explode making the whole solution a non-starter for a lot of households.

Me too, was thinking about creating simple web app. for myself. Purely from the view of food wastage. I live alone and it's pretty difficult sometimes being able to plan meals when some food packs don't last. Freezable things are OK, but sometimes the salad goes in the bin. Tracking these things avoids purchasing any unnecessary items from the shop. Will check this out.

I would be OK if we can take a receipt, or an order email, dump it into the system and it takes best guesses. For automation, at least.

Sound like you stole my notebook on this subject.

I love the idea of this, but in reality I can’t imagine the time and energy required to scan and keep everything up-to-date is offset by the benefits. Perhaps a current user can prove me wrong?

You've hit exactly the downfall.

I've always liked the idea of this sort of thing, but the benefits of using something like this almost never outweigh the costs as compared to just eyeballing the pantry and winging the meal planning on short timescales. The system starts to become the point of the effort rather than just a tool to better achieve household goals.

Unless you're dealing with a substantial household or some sort of communal living environment (lots of roommates, half-way house, dorm) or doing a lot of entertaining, the benefits vs. the effort just leave these things as interesting experiments.

And I do see value in experimenting this way. I am an implementation consultant for actual ERP systems and data entry compliance is a real problem in the corporate world, too. There tends to be benefits to the data entry problem there, but the benefits tend to accrue a few degrees of separation from where the entry work takes place... so those that do the work often don't understand the need or importance. So if you solve some of the data capture problem in a small, low risk household environment, you may be able to apply the lessons learned to larger business systems. For example the more you could capture the data "in flight", like cameras capturing the information as you're putting recently bought groceries away or pulling them out to cook, do that well enough and now the benefits start to be larger in the home... but maybe you can see avenues to reduce the data entry burden in the warehouse, or the data entry processing desks, etc.

But on it's own, using the same old data acquisition patterns as boring old corporate ERP, you're better bet is probably just pen and paper.

> I've always liked the idea of this sort of thing, but the benefits of using something like this almost never outweigh the costs as compared to just eyeballing the pantry and winging the meal planning on short timescales. The system starts to become the point of the effort rather than just a tool to better achieve household goals.

Sounds a bit like GTD and other systems :/.

I think that GTD can actually eliminate overhead, but honestly it all depends on how good the ad-hoc system you are coming from was.

Well, so do I ; it was a gentle jab to people over-thinking their GTD or todo system ^^. My choice of words was quite poor.

For household usage I think it might be helpful to separate items into categories:

- Frequent use

- Infrequent use & stock needed

- Infrequent use & stock not needed

The first category I wouldn't worry about: you know how much you have stocked due to frequently using it, so just jot it down on a simple shopping list as you feel more stock is needed. Both short and long shelf life items can be placed here, you know when you need more sugar or toilet paper, or when something you use frequently might go bad soon.

The second category would be very good to put in a system like this, complete with expiration dates. These might be emergency supplies and medications, things that are easily forgotten about but shouldn't be lacking at any time. Keeping track and being notified of expiration dates would be pretty important.

The final category is personal choice. Since you don't need a stock of it, then it's non-essential. You could place it in a system like the second category, or you could just throw it on a shopping list when it's running out like the first.

I’ve been doing this with https://www.thingybase.com/, my phone, and a wireless Brother label printer or the past few months. Once you get use to a workflow it’s not that bad, and very handy when you are out and about and need to see what’s in your deep freezer or in storage.

Edit: I noticed a few people have signed up and are kicking the tires. Please let me know what you’d like to see built for this thing and give feedback in this thread. At the top of my list is: (1) a phone app, (2) better onboarding (3) more fields for quantity, units, custom, etc. (4) attach photos to items, (5) messaging/chat/threads for each item so people can coordinate better on inventory, (6) one-click to “create a posting to sell an item on Craigslist/etc” for getting rid of a thing and, (7) a way of loaning items to friends and showing them what’s available for loan.

Is there a link with more info about thingybase? Because this takes me immediately to a login prompt, without any details?

There’s not. I’ve been iterating on it personally without any sort of landing page to get the guts of the thing in a decent place and figure out all the workflows.

In brief; with thingybase you create an account, invite family members or co-workers, then add containers and put items in them you’d like to track. You can print labels and stick them on boxes or items that you scan via QR code with your phone.

A screenshot on the homepage would be nice. It sounds interesting!

Which brother label printer do you use? Seems like all the options are pretty pricy that can manage a QR code

Brother QL-810W Ultra-Fast Label Printer with Wireless Networking

If you’re using an iPhone, make sure it has AirPrint so you can easily print labels from your phone.

To scan labels, I just use my iPhone camera, tap on the link, and the webpage for the item opens.

I think this sort of inventory system combined with automatic updates (a la Amazon Go store style OCR embedded in smart fridges, etc) would go a long way. Have always thought this would be useful, but agreed the amount of energy required to manually update everything would be unsustainable.

Agreed that this would have to be a smart vision system that can scan the barcode, and maybe the shelves are attached to a scale to determine weight of items as they are placed back in. With that information you could determine size of a jar of mayo along with its current weight to estimate amount of mayo remaining.

Meats and vegetables would still be a challenge though, but perhaps object recognition could help with that.

Fridges are already overpriced for what even the fancy ones can offer, I imagine we're not there yet to incorporate multi-camera vision systems with beefy AI processors at commodity prices yet.

I guess you don't have to actually use all the features all the time. I'm doing some of this stuff using anylist where I've got recipes / meal planning / shopping list and it works pretty well. I don't care about keeping stock, but instead every time make a full shopping list, go to the kitchen, and remove things I already have.

Other features could be useful though - The list of batteries could be nice. House tasks as well.

Agree, I love the idea and wanted to make this work for my home, but from personal experience I'd say most people would find this more trouble than it's worth.

I wrote something very similar to this a couple years ago for our household. It runs on a raspberry pi and uses a barcode scanner and when we go shopping we scan everything in and then scan things out as we use them. We live far away from town and shopping trips are rare, big all day events. It's easy to forget to scan things out and then things that don't have barcodes like vegetables are hard to track so we don't bother. Manually entering it all in and then remembering to remove it while cooking is too much trouble (we tried).

Agreed. If there was some kind of tech like Amazon's just walk out idea that could automate keeping track of everything it would be great. But having to do this stuff manually kills it. It's the same problem I have with personal money mangers; I have to manually import my bank transactions and then further manually categorize and label them (I've scripted some but can't do most) for it to properly work and give me good graphs and breakdowns.

We seem to have all of the downsides of total surveillance, none of the upsides...

"You've been buying a lot of alcohol and tobacco cyberpunk, I bet insurance companies would find this info useful."

99.999% I think this thought as well. But, if I interpreted your quote correctly, it would require one's data to be made available to the powers-that-be, right? But, since this is self-hosted, only you would have control over your data, and not them, right? (Or, perhaps I'm missing something?)

THis is a similar challenge to the widespread problem of tracking expenses for small business. None of the solutions involve manually hand-bombing all the data, so maybe there is another angle that could eb tackled?

What about a feature where you scan your receipt and it prompts you for expiry for relevant items? (Dairy etc)

Just buy some extra rolls of toilet paper!

Wow I'm so happy to have found this. Have you considered clubs, restaurants, cafes etc as a target market? If you wanted to start earning some revenue to host it I think there could be an opportunity more so than home users.

We had started down the track of building a basic version of this for our ski club using MS "Power Apps". Our basic process is: 1. Pre-season: estimate requirements based on previous years and do a few large orders with various suppliers for delivery to coincide with the annual food lift (we can't drive all the way to our club). Primarily this is meat and non perishables such as tinned/packaged items, toileteries and cleaning products. 2. Every few days during the season: perform a stock take of what's on-hand in the club. Send to the catering officer. 3. Catering officer orders according to his/her assessment of requirements. Mainly this will be perishables such as fruit/veges, eggs, bread, milk but later in the season may include other items 4. Items are delivered to common stock room and carried up the mountain by club members. Items are checked off the order list provided by the catering officer and added to various storage areas (fridges/freezers, store room, kitchen pantry etc).

Based on a quick run through the demo system I think grocy will meet our requirements for managing consumables.

Additionally club members staying on a particular night are assigned duties by the lodge leader e.g. breakfast dishes, vegetable prep, cooking dinner. We may be able to use the "Chores" function to help with that.

Personally for home use I would not use this because it would not be practical for our family.

Regarding an additional feature: I would recommend looking at Cozi which we use for a shared family calendar which is really valuable for us. I imagine it would be fairly trivial to add that feature to Grocy.

I'll let you know how we got on with the club. Thanks and hope that helps.

I mean no offense, but the consumer version (as OP linked) strikes me as FOSS's answer to the IoT Fridge, a wholly unnecessary device itself.

I'm all about freeing mental bandwidth, but if you can't remember whether or you bought a piece of salmon yesterday, or if you can't be fussed to read the expiration date on a milk carton--adding "extreme attention to minor details" and "tedium" to the mix is not going to help.

The right idea here is optimizing restaurant workflows to minimize food waste/deal with seasonal availability/delivery schedules/etc./etc. Take that and slap a nice frontend + tier 1 tech support on top of that? Baby, you got a stew going.

Personally, as a pedant, I actually find this really useful for my current, home situation. :| thanks

I appreciate the community effort but this thing is waaay too unfocused. Batteries, chores and a todo list?

I've been using an app called Cinnamon to handle grocery shopping. The general idea is similar: define a bunch of things you want to keep in stock in your pantry. Every two weeks before a shopping run I do a sub-five minute scan. The app groups by category, which usually helps keep it fast. Anything I'm low on swipe left and it's on the buy list.

In the grocery store, swipe left again as you buy and it's in the cart. Swipe right for 'next time.' (After a certain amount of time, anything in your cart is presumed to have moved back into the pantry, and anything in next time moves to buy list). For multiperson households, you could split the buy list construction from the acquisition.

I guess the key realization here is that data entry is simpler if you only check before planned grocery store runs, and if you can predict how much you need on hand to last between shopping runs. For toiletries its a pretty quick 'do I have an unopened one still?' For food I know some people use meal planning but I just keep stuff on hand and wing it -- spices keep for quite a while and meat freezes fine.

I guess you're not understanding the scope.

It's not like an overkill of shopping list, it's more of a small scale inventory management.

To what end? If the data you collect cannot change behavior, it has no purpose.

To manage your home inventory of regular consumables...

1. 'Manage' is meaningless verb in this context. If you do nothing, you've managed poorly, but still managed. 2. Chores / task management doesn't fit that bill.

Link to the Cinnamon app? Didn't see something matching description when I searched in App Store.

I think it might be Android only, given the design is heavily compliant with Google's theming. https://play.google.com/store/apps/details?id=com.imdevgary....

This feels like booking a flight to get to my local supermarket within walking distance. I guess it appeals to a certain type but I don't even need a written list to go grocery shopping.

We've been using the amazon hand scanner for a while (feeding into AnyList) and it works pretty well; apart from the minor element of pulling out your phone instead of pressing one button this looks significantly superior. You might look at that combo (well AnyList) to look for opportunities for additional features. Grocy seems to have a lot of other useful functionality.

I'm surprised that Amazon hasn't exposed more of their ERP to the consumer. For example: they know what they have shipped me, so they could manage the expiration dates for me ("subscribe and save" is a much more blunt instrument). They could combine scanning when something needs to be reordered with scanning as you cook to manage recipe, nutrition, and supply levels all at once. If they know you buy diabetic strips they could change recipe recommendations or what macronutrients are reported.

Grocery management solution for my home? Maybe in some poor family with 10 kids and bunch of adults it might make sense (really doubt it) but the last thing I want to do is use computer to figure out if I need to buy something.

Do not make the same mistake as regular ERP. If APIs are available, try to integrate to sources of data people actually use vs direct user input.

Kroger has an API for some things:


Am wondering if there are people that are going to use that for more than a week-end. I mean, it's great to know what you have, but in real life, this is just not maintainable.

Not too mention the amount of features.

And the design seems like 10 years old.

Sorry, dont' want to be rude. But... I'll pass.

I'll come back when every single pasta am eating will be automatically tracked and re-ordered by a camera "à la" Amazon checkout-free store. Or when everyone in the house will have a chip in the throat and know everything we consume in the house.

I have been contemplating to build a solution based on an rpi with infrared hand scanner and a touch display attached to our fridge.

Now, I use a combination of Todoist, IFTT and google home. "Hey Google, groceries, add Milk". Done.

Perfect while cooking. No phone, scanner or any other input device needed.

Our family does the same, but with Google Home + Google Keep. Shared Costco List, Amazon List, Home depot list, and Grocery list between me and spouse. "Hey Google, add Milk to the Shopping List" "Hey Google, add Eggs to the Costco List" No need for third party integrations too.

These days you can't get much more than a few mandarins, a bottle of orange juice. I haven't had a home-cooked meal since last Saturday only been eating takeaway as the supermarkets are always empty. It's getting ridiculous here in the UK.

Same in my city in the US.

The main challenge (as other pointed out) is in the data entrey (and update). I see the options as:

Grocery Input (easiest):

- Receipt Scanning and OCR - Easiest as people don't change supermarkets and groceries too often, so identify once the item in the receipt and it will be always recognized.

- Bar Code Scanning - Also possible but too much work to scan each item, and some items don't have a code.

- Visual Recognition - Video Camera or periodic photos of the grocery storage, hard to do.

- RFID tags and portals - I dream that one day barcode will be substituted by RFID tags, then it would be feasible to have a portal wherever you keep your groceries.

- API - If any supermarket offers that sort of thing for receipt data

Grocery Update/Usage (Hardest):

- Recipe usage - By the estimated usage of every recipe you make (like Grocy tries to do), but that doesn't cover everything that is not on recipes (like cleaning products)

- Visual Recognition - The same as above, if it can recognize groceries going in, it can recognize groceries going out

- RFID tags and Portals - The same dream as above

- ML - By the frequency of your product purchase, a machine learning model might be able to predict when you should buy a new item.

All this solution only solve one half of the problem, which is input. But there's also the other half which is marking them as you use the items. Yet another part which also needs to be considered is the separate input for the expiration tracking. The latter may be solvable if you approximate lengths for each product in a database, and you assume that the product you bought is starts at 0.

But yeah, even if you can simplify the first part as your post describes, there's still a lot more work to maintain the data beyond that.

I did mention the update there. My formatting was not good enough to highlight it. It's the second list.

I'm quite surprised that big grocery companies are not doing this kind of services: If you get this working, one could argue that the "commitment" to "automatically" keep ordering from same shop and brand would be quite high - because it would be so easy. This, with home delivery would bring quite many new hours to a normal week/month.

(Personally working with "out of home" logistic solutions.)

Edit: mistypes.

So we found an approach that works well for me and my wife. We use the builtin Notes app on iOS and have a shared note where I ask siri to add whatever I'm missing to the list, then every time one of us goes grocery shopping we just pull the list.

I've been writing such a web-based self-hosted grocery and household management system for the last 6 (and depending at how you look at it - 20) years. It's a tough problem but well worth it. I share my system (which is very difficult to actually release) here in the hopes of giving people ideas, or if anyone wants to work with me. Just fixed a bug in the home inventory component, and am dreading working to integrate purchase management with shopping receipts (both online and local) with inventory. Very tough problem indeed:



I imagine a future evolution of this could be embedding it on a raspi with a USB barcode scanner, and putting a control screen in your pantry.

You can read barcodes with your phone camera. No additional hardware required.

Specialized hardware reads barcodes faster and more accurately which really makes a difference when you using them a lot

In addition, lasers scan extremely well in low light conditions due to the intense light a laser outputs which illuminates the barcode so the sensor can read it, even in the dark.

Just imagining the frustration of trying to perfectly angle your camera to scan a can of beans in your dark cupboard makes me want to toss my phone against a wall.

Phones have flash now. Except budget phones.

I've known about this project for a while, but the coronavirus lockdown led me to install it. Unfortunately, the JavaScript-based UPC/EAN barcode scanning is unusable. Too slow, even on a 2018 Mac Pro, sometimes only scans a partial barcode, and asks for permission to access the camera for every scan. I've ordered a USB bar code scanner, I'll see if that makes it more usable.

I used to have a really neat device called the Hiku. It was essentially a WiFi-enabled hockey-puck sized scanner, with a microphone for voice recognition for items without bar codes, and a UPC database. Sadly they went out of business a few years ago but their app still works (not sure if new users can sign up for it), and is great for shared shopping, e.g. yesterday I was shopping and I could see my wife add items to the list in real time, as well as cross them out.

My main challenge is that I downsized to a much smaller apartment, and a lot of our dry groceries have to go in plastic bins that are shoved in dark corners, so it's hard to know what we have or don't have, leading to duplicated purchases and also wasted food when it expires.

One challenge is the absence of a good universal UPC/EAN database. I tried one with one item from the bin (a box of some obscure knock-offs of Meiji Chocorooms), and when the phone scanner finally managed to get the item right, the online DB identified it as a Disney Princess doll, so it seems UPC/EAN is so badly managed they can't even avoid duplicate codes.

Finally data entry of expiration dates is going to be too cumbersome. A better approach would be to have some sort of of statistical model that estimates the shelf life from the product descriptions, e.g. 2 years for canned goods. Less precise, but more manageable, it could show alerts like "check how much longer this can of tuna has left", and if still has some ways, you could enter the precise date only then.

I have a workflow for books that is quite efficient, using the Mac app Delicious Library, a Microvision RoV Bluetooth scanner supported by the app (sadly discontined):


Sadly I don't have anything that streamlined for groceries.

Do you ever feel like you wont have enough toilet paper for your next shit?

Introducing Grocy: easily find a missing product in your fridge,bathroom or an underground bunker. Always know what's expiring next.

My wife and I have tried several systems and applications at this point. We go grocery shopping together, just us, no kids. For us, the shopping experience is important. It's got to be fast and synchronize quickly.

My favorite app is listhero. https://listhero.de Fast, simple and secure. Each list can easily be managed for adding new items, checking them off the list or recovering an item from a "recent items" (done/purchased). There's nothing too fancy here. The great feature is how fast the spa is.

But the list app is just where we share the info. It's our shared process which works best for us.

Everything on the list is grocery shopping related except for three lists: 'meals', 'pantry' and 'freezer'.

Could it be fancier? Could managing our meals automatically add items not in Pantry to our list? Maybe but those systems always seem too complicated and we've tried several (most recently 'plan to eat' which we paid an annual subscription). Getting the shopping right is paramount for us. Raw speed of the UI is the best feature of ListHero.

The Meals list is the heart of the process. We have 23 meals on there. If it's time to shop we can quickly decide on a few meals, check the pantry and freezer and then just add items we need to baking, grocery, meat, etc..., almost always by clicking an item from the 'Recent Entries' section.

If we were feeding larger groups of people with a restaurant or a college meal coop where we shared the cooking and managed volume orders I'd want something fancier that managed meals and ingredients and shopping a bit better.

But for my wife and I this relatively simple works great. Most of the recipes are in our heads. The list app helps us to manage a shared mental model. We enjoy our kitchen heartily.

I dont see usecase even for a family of five, because this is solved with authority/responsibility and habits, and it works good enough most of the time.

However this could be useful for Airbnbs management, open-spaces with kitchen, and also that new trend of young independent people living together but sharing a kitchen. All these cases need more accountability.

If I didn't have to do the input myself I would subscribe to this for life.

It would be great to solve this problem but I’m afraid the overhead work needed to keep this system up to date would be too high or too high for some family members to be worth it, e.g. maybe a member of the family uses up the last butter and you are unaware of this so you miss to buy it resulting in that the recipe for the evening is not possible anymore

If anyone wants a light-weight version of this, I made a Coda.io template last week and have been using it with my family. Easy to extend/modify as your needs change.


I'm wondering if something like this exists, at a larger scale.

For example, say five or six neighboring households decide to distribute the shopping chore. One person goes to the grocery store, or COSTCO, returning with staples for multiple households.

Is this a scenario that you encounter often? I have heard of 'buy together' being common / widely used in some Asian countries but not so much in US metropolitan areas.

Disclaimer, my info is purely anecdotal.

This is a cool concept, but in addition to all of the concerns other people have voiced, I have a very specific problem: I've been trying to go "zero waste" and reduce packaging as much possible. This means there is no package to scan, I'm just buying in bulk and putting stuff into bags/jars. There's also no clear expiration date, which is actually somewhat troubling these days, but so far I haven't had bulk stuff go bad b/c I wasn't stockpiling/prepping it.

We'll see what happens during the pandemic, that's definitely thrown a wrench into my low-packaging shopping.

Another thread showed his project that printed labels with QR codes that might be a good fit if you're willing to compromise sticker labels in your zero waste goals.


I use frog tape and a sharpie. After a year+ I'm still on my first roll of frog tape.

If you really want to go zero waste you could with a some sort of color coding system like bread clips use.

Then stop what you're doing for a while. Problem solved.

Wow! I have been struggling to find exactly this for maybe years now. Other software always felt too limiting or specific, this is just about perfect.

I want to give this a go and see if I can do better than I do with spreadsheets.

I freaking applied for HN with this idea and was rejected.. years ago.

Called “standard pantry”

This doesn't validate the idea, if that's what you're implying.

To be necessarily negative, this sort of product has appeared countless times. It fills a need that people just don't have. I have four kids, a wife, a dog, a skinny pig and a bearded dragon. I can internalize shopping lists, as does my wife. It is incredibly rare that we even send reminders to each other of things. The idea of creating and managing an inventory system is just a complete non-starter.

Furthermore, the idea of then tracking each thing I use/consume (just to keep the inventory count right) sounds mind-numbingly tedious.

Remember, a piece of software isn't necessarily a business.

Also, HN!=YC. I assume you meant you applied for YC?

- No business model

- Families (arguably the people who would use this) probably won't use this. It's too much time overhead for minimal gains.

Don't sweat it.

Didn't we all?

It's an obvious idea like all the others. We're 2 years from a viable implementation.

What was your revenue model?

The idea was to effectively have a standard pantry subscription service to a very good library of ingredients and provide cooking instructions, recipes based on what you had on hand - as well as providing a dietary input to what you make on a regular basis.

Having a standard pantry which is filled with regular ingredients, but minimally packaged, marketed, etc... would result in a lower waste footprint for the environment to boot.

Further, I want to have single-use-plastics reduced as much as is possible. So, it was based on a more sustainable packaging model.

This is awesome, I've thought about building a home stuff crud app to streamline and minimize the stuff we buy. This gets pretty close to what I have in my head.

Is there a way to set up lists for different stores and different households? For example we live in a building with mostly retirees who are not going out. So we're doing their grocery shopping and delivering it. Managing receipts from different stores, keeping lists separate and then doing the math later to see who owes what is a pain.

It's not a long term pain, but thought I'd ask. :)

One thought to reduce data entry (for some people): parse freshdirect (etc) emails, with a default expiration date put in. (The pie in the sky version uses machine learning to make better guesses.)

Just from trying the demo, there are default "shelf life" numbers for the vegetables. But it expects best-by dates for the other stuff. It looks like defaults could be entered in.

As other commenters have pointed out, the manual data entry this requires makes it pretty onerous in a home kitchen, but I wonder if there's something similar for commercial kitchens? You could possibly integrate with the POS system to track how much of each ingredient should have been used given the dishes sold in a day. Wouldn't be perfect for stuff like flour where you need to adjust based on humidity, but it could give you a general idea of when supplies should run out.

I think this software would be useful for a live in maid or nanny. I just can't imagine anyone willing to put in the time to make this work, unless they were paid. I have a friend who's parents are billionaires and have a lot of house help and a very big house with people coming and going frequently. This software would provide a lot of value to them, but not that much to most regular people.

Thank you very much for creating this, whoever you are. I know others have raised issues with the data entry aspect but at least there is something to build on. More relevant for me is that I can now have something to study with regard to the database design, backend/frontend stuff. bravo!!

Hi, app author, if you’re reading here.

Is this app compatible with Mono on macOS? It seems like it’s Windows/Linux only which rules out using it at home :(

Amazing tool. It'd be nice if the default configuration included some basic recipes and required items or if there was a way to import recipes. Even nicer would be a parser tool that would accept a URL from any recipe website and import that recipe with its image and all the items and their location in grocery store isle, etc

Very cool. What information is automatically imported to your list when scanning a barcode? Is it just the name of the product?

It would be helpful if sell-by or best-by dates were encoded into the next generation of UPC or NFC or whatever.

This reminds me of the Honeywell Kitchen Computer.


I started writing a similar app in 2005 using Ruby on Rails. I called it Grocs and even registered the domain name grocs.com. I dropped the ball but I'm glad to see that someone else built it! Downloading now.

Love! I've been struggling with a way for my virtual assistant to know what needs to be ordered, and the manual workarounds I've thought of don't save much time. Thanks for making this!

What problems are you trying to solve with respect to groceries?

I think you need to start with that and there has to be incentives built in as well as full 2 way integration with the major online grocers.

Love the concept but the spacing on Mobile is really off and driving me mad

This looks cool :) Don't want to be a Debbie Downer in a time of crisis but I feel like you could use Google Sheets + IFTTT in order to accomplish much of the same thing. Would be especially useful if you could auto-tie this into grocery delivery services like Instacart.

I think it'd be possible to build a client which would GET /objects/shoppinglist from the grocy API[0] to retrieve the shopping list items, which currently have the following schema:

    id integer
    product_id integer
    note string
    amount number
    row_created_timestamp string
Do you know if there are clients for Instacart (and/or other food delivery services) available?

[0] - https://demo.grocy.info/api

I just remembering jinyang scanning into his smart fridge.

Seems like overkill for something that only a couple of decade or so ago, we used to use our own memory (albeit inefficiently, but most of us will be okay with not doing this with too much efficiency).

Who wants this? People who ask themselves, "Y'know, if I only had an ERP system to manage my refrigerator and batteries"? This seems very poorly conceived.

I think pretty much every developer has tedious tasks in their life that they "just know" they could improve via an app. Meal planning, kid's chores, financial budgets, you name it - many have considered for 2 seconds building their own. Most of us don't have time. Needless to say, I think this is infinitely more valuable than another meme generator.

Poorly conceived because ... such people don't exist? The majority of people doesn't need it? ...?

Cool product but... This is wayyy too much much. To need an ERP for this problem? And to deal with self-hosting, teaching everyone how to use it.

Pronounced like grossy

It building an app with form entry is that’s needed google and amazon would have done it a decade ago. That’s not the need here.

I’m able to get on remarkably well with grocery shopping without the use of any technology. Feel blessed.

Me too. I want to express my deep gratitude to those who sustain myself and others. I show up at the grocery store and encounter a cornucopia of nourishing foods - how lucky am I. This is your time to shine farmers, truck drivers, food processors and grocery store workers. Thank you!

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact