I2C pullups for level shifting
The single-FET(Per Line) I2C Level shifter is quite cool. But it must have pullups on both sides of the shifter. To figure out why let's look at how I2C works.

The single Rule:
An I2C device can only assert a low level on the bus.

so Let's look at the higher side Voltage device asserting a low:
On the FET, a low voltage is provided on the Drain, this forward biases the body diode, and allows for a diode above gnd to be seen on the Source. When the Vgs Threshold is reached the FET turns on further reducing the voltage on the lower voltage side.

On the flipside, when the Low Voltage device asserts a low, It immediately Trips the Vgs Threshold and connects the low voltage to the higher voltage side.

Now make sure you use a FET with a very low Vgs(thresh) value, depending on your low side voltage, it needs to be at least a diode drop lower than your Low Side voltage. Something like the AO3414 for a 1.8V low-voltage side I2C would be good.