Just as a mildly interesting story, I thought I'd share:
The best self checkout experience I had so far, was at a Japanese clothing store in Germany. There was a box at the checkout station, and each clothing item had an RFID in their labels. You just toss all your items in the box, it detects which exact products you're gonna buy, and if the list of items shown is correct, you just pay and go.
A few years ago I heard of a similar concept for groceries, but that one was experimental and I don't think they've implemented it ever since. But this one at the clothing store was not a test, and it worked flawlessly.
Just came back from a trip to Japan and that's how they do clothes.
Drop everything on a basket, pay and leave. The staff is super nice but you don't have to talk to anyone at all if you don't want to
Look into Amazon fresh stores. They have that concept. You just place the item in the cart and it shows you the list of items you have in the cart while at the store. After that I think you just go to the register and it chargers your Amazon account.
But how do you do it with produce? Say you want to buy three apples. I can get that it could figure out amount with a scale, but how does it know you've bought apples?