@JackANDJude I think this is a really cool project and I feel curious about the Tips & Tricks that you're dealing with @syedBits, namely ranges, thresholds, and accuracy of data. I understand that if you want to eat a sausage pizza, you or Jack or whoever, wont be happy to receive a veggie, because the system made a mistake.
I feel that some of the clues on how to get this done, are tackled in your first post. When you're leaving some "black percentage spaces" between the ranges of each pizza and when you consider an #orderconfirmation tag.
I don't know how to solve this, but I want to share my thinking process and some things I tried, to see if this can help you, or even unblock more ideas in my head, juts simply by writing them here.
The first thing I thought, was using an Arduino to take the input value from the dimmer and map those ranges to constant values, that you could easily differentiate at the output, and limit the number of IFTTT recipes. But, you would still have some trouble in the boundaries, so maybe you could have a part of the code that lets you know when you're in a safe zone (like in the middle of the range) to assure that your choice is safe, and then continue to order.
But the thing is, that although you can fix a stable value at the output of the Arduino, the cloudBit input always have kind of a "data noise" (I've been trying this with a power + dimmer + arduino + cloudBit circuit). I know that with the Arduino you can filter the input values to get rid of that noise by making an average. Maybe @syedBits this can be a good feature for the new version of IFTTT littleBits channel. I mean that you could select an average value of X times the input to have a more stable averageValue besides the inputValue.
Ok, as I warned you before, I don't know how to solve this and I'm looking forward to see the result of your tests!
And if I come up with more ideas, of course I will share them with you