Depends how simple you want it to be and what are your preferences.
IR is doable, but you probably need some small, low power MCU. So you wake up, burst, sleep. That way it should be pretty power efficient. The problem is, it's easy to shield IR, so at some specific orientation the hearts might be blind to each other. Also you need to transmit both directions and only one direction might be shielded - one sided love - that is arguably even worse.
I had similar idea years ago, but did not proceed. I remember I was thinking along the lines of putting an RF oscillator into each heart with slightly different frequencies and then both sides detect beat frequency when they are close. It should not be very difficult to make, I don't know, haven't tried.
If you are good at programming, the simplest and quite robust option might be a small MCU with integrated Bluetooth, like STM32WB. You don't necessarily need to design a proper PCB antenna or anything, cause it will still work at small distance. Then you write code to sleep, wake up, exchange a few packets and go to sleep. Can work on CR2032 if done correctly. Based on RSSI you can judge distance and increase the LED heartbeat rate when it comes closer.
If you want a complete overkill, you can use UWB tranceiver IC/module and measure distance by time of flight. Accurate up to centimeters. Might still work with CR2032 at low duty cycle.