ESP8266-12E unstable WiFi connection (Need feedback)
Your signal and power traces have no ground return path beneath. That alone might be the killer here. If in doubt, the easiest way to achieve that is a contiguous ground plane under all traces.
The fact that you didn't put anything beneath your antenna is good, but not sufficient: Your buttons and traces right next to the antenna are as important as the things beneath it.
In fact, Espressif has a design guide and it's not really hard to follow. They even have a visualization where to put the antenna (and hint: where to not put it, and that's within the board outline), and it looks like this (pick one of these positions, not multiple):

If you really need to place things next to your antenna, leave 15mm space around it. That includes PCB substrate.

So in conclusion:

don't put anything next to the antenna. Don't even put PCB material below the antenna (but honestly, PCB below that just loses you a few dB of signal, at most, due to mismatch and material losses; metal next to the antenna can distort your antenna diagram significantly, and/or absorb a majority of energy.).
Don't route signals on top and bottom: your board is not that complex. Leave everything on top, and if you need to &quot;bridge&quot; something, wherever possible, just elegantly route it beneath a connector or passive component
Have a ground plane, on the bottom side.
Have good ground connectivity. So far, your module is connected to ground but through a single via (that's kind of OK), but your decoupling capacitor is reduced in usefulness, because it's &quot;barely&quot; connected to ground (for RF signals), only through a long trace instead of through a via to a large ground conductor (e.g. plane) very close to the capacitor).