Grocery shopping in New Zealand is a bit of a racket. You grab a block of butter at Woolworths for nine bucks, then spot the same block at seven in PAK’nSAVE a few days later, and it just sits there nagging at you. Nobody’s got the patience to run three browser tabs side by side, matching a shopping list item by item, so I built something that does it instead.
Basket Brain reads your Home Assistant shopping list, including the stuff you’ve yelled at Alexa from the kitchen, matches your “mulk” to the milk you actually buy, and prices the whole list across Woolworths, PAK’nSAVE, and New World. It finds the cheapest one and can build the cart for you, ready to check out. It also keeps half an eye on your regulars and lets you know when something you always buy is on special.
There’s a Lovelace card that comes with it. Flip it over and you get item-by-item pricing across all three chains, which is handy for working out where the difference actually comes from.
The tricky bit is that the supermarkets don’t love this kind of stuff, so there’s a small add-on that runs a hidden Firefox to sign in and grab cookies, then the integration just does plain web requests from there. Worth knowing: that login step pegs a CPU core for about 30 seconds per supermarket, so if you’ve got all three chains on, that’s a bit over a minute of your Pi working hard once a day. It sits quiet the rest of the time.
You’ll need HA OS or Supervised for this one, since the login step runs as an add-on. Everything’s on HACS.
It’s still young, and item matching between stores is the part most likely to trip you up (three different names for “milk 2L” is a genuinely hard problem).
Hope it’s of some use!


