Writing on Tablets Tech stuff from @yeltzland

My Cool (and even more over-engineered) Shopping List System 2.0

As I’ve written about before (read here and here for some background), I’ve got a crazy-complicated system to manage my shopping list, involving my Amazon Echo, Todoist, IFTTT and Slack.

The original system was working OK, but it had several non-optimal parts including:

  • Getting a notification every time I was near the supermarket, whether there was anything on my shopping list or not
  • Even if there is anything on the list, I get the same alert each time
  • Ideally I’d like to see what is on the list in the notification, rather than just a link open Todoist. That would mean I can see on my Apple Watch what I need to buy without having to get my phone out.

New “Architecture”

I thought I’d draw the new, improved setup on my whiteboard to make it a little clearer to explain …

Shopping List setup


When I was building the original system, I didn’t know about IFTTT Maker Channel, which can:

Integrate other services on IFTTT with your DIY projects. You can create Applets that work with any devices or apps that can make or receive a web request (aka webhooks).

This is fantastic, as you can really build some complex systems that hook into your own logic. So with a little more work I can now build exactly the setup I want.

New Service Logic

The logic for Shopping List v2.0 is as follows:

  1. Setup two location-based IFTTT applets that trigger when I am near the two Hexham supermarkets (as before)
  2. The “that” part of the applets now simply make an API call to my web server (passing a secret authentication token for security)
  3. The web service, on receipt of an authenticated call, will:
    1. Call the Todoist API to see if there are any items on my shopping list
    2. If the list is non-empty, and has changed since the last call to the service, make a HTTP call to a third IFTTT applet (passing the shopping list details as a parameter)
  4. The third IFTTT applet simply coordinates the incoming parameters into a Slack message sent to me

You can see the results from yesterday’s trip here:

Shopping List in Slack

The first alert was when I got to Waitrose, and after I’d crossed off 3 items from the list in Tododist, when I got to Tescos it then reminded me about the final item.

I’m pretty happy with this now. It really is great to use Alexa as a way of managing our shopping list, and I don’t use any other way of doing it any more than by voice.

Yes, it is a pretty nobby list of things to fetch (I was going to Waitrose after all).

And no, I never did get the Sausage Casserole mix. It appears Hexham is all out right now.

Alexa Amazon Echo Todoist IFTTT Slack Voice