How to see electronically if a cup is empty or not
I experimented with this round force sensitive resistor, and it can probably be used to determine whether the cup is empty or not. It is the opposite of bulky, so if it works you can get a very small form factor. The one caveat is that I had to place a small metal piece on the force resistor and balance the mug on it, to direct all force towards the material. It turns out that mugs are often curved at the bottom so that they don't touch the ground at all in the middle where the resistor would be placed. You might be able to work around this by getting a larger piece of force sensitive material since they are sold in all kinds of sizes (and can be much cheaper than the one I linked to).

These are the measurements I got when testing this with an Arduino (the analog signal on an Arduino varies between 0 and 5 volts):



I repeatedly poured approximately four centiliters of water into the mug. As you can see from the red lines which indicate the points at which I did not pour water into the mug the response is not linear. However, the data sheet includes a resistance versus force curve, and you can do your own calibration.