but the 100k 1W resistor got hot. Could using a pull up (or maybe pull down) resistor for optocoupler solve the problem?
That's quite a large electrolytic capacitor.. it will take some time to discharge through R1 to a safe voltage. 10uF would work as well and would be smaller, safer.
Nominal power dissipation is about 1W regardless of whether the opto is on or off.
If you want to stay with this, use a physically larger resistor rated at a few watts, and it won't get as hot (but of course it will be dissipating the same amount of power). Preferably a MOF type that is flameproof and rated for mains voltage.
Looking at the schematic from instructables, there are several things wrong with it. Always take care when building things from Internet commentaries, because they have a tendency to make shortcuts.
d1 doesn't have surge protection from c1. c1 is grossly oversized. a 200 ohm resistor in series after d1 with a 4.7uf-22uf cap (adjust for flicker) instead of 100 uf cap. d2 looks like to me its getting tortured by having its source voltage pulled down by the opto at every pwm interval. btw, this zener is not needed, and a simple 6.8K resistor in its place when using the correct power mosfet (according to the commentary reading).
But what is the real current demand in the gate circuit supposed to be?
Here is a schematic of how the zener diode should have been implemented. In the schematic below, I added a 220 ohm resistor, and added a resistor to form a two pole voltage divider on the 100V tap, I stuck in a 100V zener, and now at the 15V tap we can provide this required voltage that you stated and the loading effects of the 15V wouldn't load down the zener. I don't know what current you need, but this schematic is more realistic than what was produced in that commentary.
A little bit more info is needed: What device are you using as a mosfet. You should select a good power mosfet that has gate protection, most power mosfets have an anti inductive snubbing network built in.