Especially for a kid...I would HIGHLY suggest, getting a watch that is water resistant. If not, once he gets in wet and/or in water (by mistake etc.) it will be ruined and so will your money be wasted.
Swatch (there are many styles, it is unisex, and some come shiny and gold or silver). I have a "shiny" silver one, stainless steel. It is not girly at all. And in fact, looks like a mens watch.
Swatch are GOOD watches, easy to change the battery, and they make Mens, watches. Even athletic types.
Swiss Army watches
Do not spend a chunk of change on it, unless he is mature and responsible.
Does he want a shiny gold or silver watch... because other kids his age have that style??? Typically, this is why.
Metal bands/stainless steel etc., is more practical than leather. It can get wet. And it lasts a very very long time. ALL of the watches I have had, are metal bands. I had a couple of leather types, but it does not last... after awhile, the band will look old. And by the time it needs to be replaced... your son, will be into another style, of watch/watch face/color/type.
Metal bands, can be sized. Easily. At the jeweler. And you keep the links that are taken off, for future use if need be, to make it bigger.
But no matter what, I would think that you have to buy it, WITH him. Even if online. Because, he seems picky as to what he wants... and many times, kids think that "Mommy" picks a wrong style.
And if you don't shop with him for it, in store or online, make sure you know the return or exchange policy of the store.
Or would he want a fake "Rolex?" LOL
I mean, not many "kids" wear "gold shiny" watches. Especially 12 year olds. Not even many adults. Is he trying to impress someone?
Or do all his friends wear gold shiny watches??
It is, at that age... going to break or get lost or get wet and broken.
So something to REALLY consider.
And perhaps even in 8 months, he will change his mind again, and want another style of watch.
At 12 years old anyway, they will NOT... be wearing this watch for years... like an adult would.
Costco has watches too.
Even if you shop online for it... your son STILL would have to try it on to see the size... ie: you said he has skinny wrists.