We follow the principle of doing one thing well instead of all things mediocre, so we use 2 solutions for what you asked. As others in the thread, we do use Tandoor, but only for Recipes and Meal Planning. It does this execeptionally well, but the shopping list part is fitting to our style of shopping.
As a shopping list, we use David Shays Groceries / Specifically Clementines. Why?
- It works offline when you are in one of those huge buildings that work like a faradays cage and you do not have reception anymore.
- It lets my partner attach a picture to a list item, so I can find that specific cheese when I am standing clueless in front of those shelves with 500 different cheese brands and that helps me find the right item before the shop closes.
- It works exactly the way we shop. We always arranged items in the order they are in the shop when you work through the shop from entry to exit. That is super efficient.
- It supports aisles. That means your items are assigned to an aisle. The super cool feature here is, that you can rearrange the isles for each shop. Veggies are at the entrance of Shop A, but at the middle of Shop B? Just arrange the isle for Shop A to the start of the list and to the middle of Shop B. Since all items are connected to an isle, they move with the aisle. This way you never have to turn around in a shop to get "those other things". You just walk from entry to exit in one line and be done with it.
- With this software I never forgot to buy something I did not find in Shop A. How this software does it is that you create list groups that contain lists for every shop that fits. For example you group food shops together, or shops for gardening stuff. Within the list groups, you have your items. And when putting an item on a list, you can select on which list it should appear. Now when you put your favourite cheese on the List of Shop A and B and you bought it on Shop A, it gets ticked off on Shop B too. Or the other way round, I think you get the idea.
- I have to repeat that it works offline. A shopping list is useless if you can not use it when you are shopping.
- Accidentially ticked off an item because, well... touchscreens and you do not know what it was? No problem. Ticked off items just move down that list and you can pick it up again. With other apps stuff just disappears or gets send back to the global item list and now you do not have any idea what you missed. Not so with "Specifically Clementines".
- It never let us down. It always worked, whether offline or online without any hiccups.
There is more, but this post got too long already. It also has User Management, Permissions and Live Sync. Yes, my Partner can see live when I tick of items on the list and can put stuff on the list while I am shopping :-)
Everything in that software feels like it was created by a person that goes actually shopping.
It has a very good web interface (which also has the offline mode AFAIK) and a very good Android App.
Does it look fancy? No. Has it everything we ever searched for in a shopping list app? Absolutely!