Alright, I'm using a single sided board for skipped reasons, that's why I used vias.
That is valid. But you could simplify it a lot by routing things differently. For example, rather than making two traces jump under another one, just leave the two on top and make the one jump underneath. (Like how, near the battery connector, GND and the now unneeded trace to pin 23 both dive below 5V, rather than 5V diving beneath them.)
I changed the crystal pin to 9 and 10 and still didn't work, I didn't really check if the AVR is alive though.
Well, you should check for life to be sure!
If it’s not running, try cutting the traces from C1 to Y1 and C1 to C2, then connect Y1 directly to pins 9 and 10 (as in, solder the leads directly to the IC socket pins on the bottom), and connect a new C2 between ground (pin
and pin 10 using the shortest wires possible. Don’t leave the unused segments of track connected. See the attached image “modifications to current PCB”; red is where to cut traces and remove components. Blue is where to add them. (In the image “layout suggestion for next PCB”, I also show how I would route some of the traces to simplify it.)
Also I heard the reset doesn't necessarily need not to be floating. But even if it did, I don't see how it not being connected would make the entire circuit die.
Using an external pull-up is not mandatory, but recommended. Given that a 10k resistor costs basically nothing and increases the reliability of the circuit, I think it’s dumb not to use it.
See
http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdfAs for how it could make “the entire circuit die”, well, if the MCU is held in reset, how would the circuit be able to do anything at all? (What happens on your Arduino if you keep the reset button held down?)