I wanted to make sure this actually worked and I hadn't completely screwed up before posting, and it does

This is just a hobby/personal project, (obviously!) not for mass production or sale of any kind so some of the compromises I had to make have been done for a reason and I'm aware they would have serious consequences if this was a commercial design... e.g. vias in pads, only a 2 layer board, the many USB 'best practices' I've violated, that kind of thing. I was curious so got a quote for 4/4mil, 4-layer board of the same size - $140 for 10

(over ten times the cost of these)
I've kind-of detailed (as in not step-by-step instructional, but info and pics along the way) both my first board and second revision that has just arrived and been quickly tested, available to see here:
http://www.stevenhoneyman.co.uk/2015/08/learning-by-doing-pcb-design.htmlhttp://www.stevenhoneyman.co.uk/2015/09/more-pcbs-6500-rev-b.htmlI've only just put this together a couple of days ago so there could be some horrible mistake yet to be discovered! The I2S remains untested as I haven't yet learnt how that protocol (or the partially documented codec) works. Any low power/standby stuff is also not yet tested. Other than what I've already mentioned, I'll gladly take any feedback or constructive criticism about my layout. I seem to be running out of board space due to the positioning of the connectors and the fact I can't put components on most of the back because of the battery. I'd like to go BGA and add SDRAM so when I get hold of some of the new 'F446 it could run a very cut-down Linux build, but that's too costly to be risking screwing up at the moment.
And to give a preview without having to click my links, here's my rev A and B boards:
(the Eagle screenshot was too big to attach)