You're looking for feedback here so I'll offer a few opinions, see if any of them help (or hinder?!). In my opinion pro mixes generally manage to separate the elements so things have more of a distinct space. And for this you have basically eq, reverb, panning, and arrangement (it can be more complicated but in a nutshell that's the biggies)
thoughts:
- concentrate on the vocal first, it sounds like it needs a bit more presence and top and a touch of nice reverb, vocal plate kind of thing. This is a nice vocal to work with so make it the upfront main thing -
- find new kick, this one isn't very nice and it's too mid bassy i reckon (it's like bass and kick at the same time), and take the reverb off it completely (and then maybe add a TINY bit of small room type reverb). If you love this kick then at least take the reverb off and probably high pass it a bit so it sits with the bass better.
- cut a bit of bass out of the backing vox
- the snare needs a bit more sympathetic arrangement, it's a bit annoying in the verse
- be careful with the reverb so things have their own space. Too much of the same reverb on everything is a big contributor to a non-commercial sound. Have say 3 reverbs on the sends, all different (big med small) and add a touch to different elements. big reverb on vox, mid on snare, small on hats etc.
- Find something to reference your mix against that is similar (london grammar?)
Option B:
Bounce the stems dry and pay a mix engineer
[edit - I don't mean this as a joke, I have a mate who's a pro mix engineer and sometimes I wonder why I bother trying to mix my own stuff when I should probably just pay him to do a better job of it )