I don't think you need to boost the voltage to drive the LED. Just look for a blue LED with a low Vf. Also, there is no reason to use an op-amp.
Use this circuit:
simulate this circuit – Schematic created using CircuitLab
You may need to tune the resistor values a bit. This is a current source circuit. When the GPIO is high, you will get a fairly constant current of roughly 10mA through the LED over a wide range of voltages. This circuit performs much better than a simple current limiting resistor when you barely have enough voltage to drive the LED.
The basic idea is that R1 and R2 are a resistor divider from the GPIO voltage of 3.3V. They produce around 1.1V at the base of Q1. Q1 is not saturated. It is acting as an emitter follower, producing 1.1 - 0.6V at the emitter. This means that the emitter current is around 0.5V / R3.
The things you might want to do are lower R2 to get a smaller voltage at the base, and change R3 to change the operating current. Right now it is around 10mA, very roughly.
Also, since this circuit maintains a regulated current irrespective of voltage, you can potentially use an unregulated voltage for the LED. For example, a single cell lithium ion battery voltage, or 5V from USB. The LED will only turn on when the GPIO is high, no matter what voltage you use for the diode.