Is the general design of this PCB good? What would you change?
First thing to consider is that power delivery come from both pins \$ 3V3 \$ and \$ GND \$, so they must both have thick traces.
You can "pour" copper on your layer and attach it to ground or 3v3 like shown below in a generic layer:

(source : https://commons.wikimedia.org/wiki/File:PCB_copper_pour_thermal_pads.png)
Since you have only 2 layers you can put the 3V3 on your top layer and GND in your bottom layer or vice versa.
You should not put copper below the ESP antenna because it will suck some of magnetic field (depending on how high the ESP board is from the your PCB.)
I would recommend not pouring copper in this area marked in pink:

There must be tutorials on how to do that in EasyEDA as I haven't used it myself.
Now that there aren't any power traces, the SDA and SCL traces can be routed without vias (which is a good thing for high speed signals, but you're not concerned.) You're not obliged to route SDA and SCL in the same layer since they are not coupled. SCL can go on the bottom layer for example.
Are the widths of the traces ok? Should I make them bigger or smaller?
It depends on what signals you're routing. In your case you have nothing to worry about. Remember that you pay basically for removing the copper from the layers, so if you have no constraints feel free to make your traces as thick as you want.
Can any problems occur if I use this PCB with the components in action?
Too general of a question.
Any more general tips?
- Placement of the components is the first and most important step in designing a PCB. If you want to design a PCB with more than few components, you should think hard about their placement, it will save you time in routing.
- Don't route a signal with too many vias. Two vias at maximum and if you can't do it, you should reconsider the placement of the components or using more layers (four layer and six layer boards have become cheap.)