Hey man! I always review on request so don't hesitate to ask :P
Your chord progression is pretty funky! I like it, although the second last chord seems to clash with some of the melodies sometimes (in a harmony sense, not a mix sense.) I'd tell you how to fix that but I'm really not good at communicating musical concepts as I have no formal training, and it's pretty small anyway. Melodically I enjoyed this, it also helps that it's one of my favorite scales :)
Composition is pretty good, you kept it somewhat varied despite working with the same progression the whole way through. I also liked your use of risers and the way you used percussion in your build-ups.
In terms of mixing, things do get a bit dicey, though. You've avoid the classic overcompressing problem that everyone seems to have, so your mastering is probably a step ahead of your mixing (either that or you're not mastering very much, though the song is fairly loud so I don't think that's the case.)
I think your lead is probably hitting frequencies it doesn't need to, so it might be worth shaving off a bit of high end above 16khz because it does hurt the ears a little. Same with the snare, though the problem with the snare more stems from the fact that it has no low end. I'm working on a drum and bass song right now, and my snare's main frequency is 200hz (it also has a *lot* of content above that, and its second loudest frequency is about 7khz.) Designing a snare that sounds good is largely about sample choice and EQ, but honestly the former is the most important. I generally layer multiple snares together and juggle* EQ them, but you don't need to do that to get good results. I think considering the overall sound of your song though, the snare fits better than it would in most drum and bass songs because the overall tone of the track is quite light.
I think the kick also has too little frequency content, usually you want a bit of high end on your kick (when I say high end, i mean basically the entire spectrum, although sometimes mids can be sacrificed to an extent. Really, it depends on the genre.) Your kick sits around 150hz to 400-500hz if i had to guess, which is acceptable for drum and bass low-end because drum and bass (drumstep too) typically shave off the sub bass of a kick. Other electronic genres don't do this because they have a kick every beat, and can sidechain almost everything to it, but drum and bass doesn't have consistent kicks due to the unusual pattern of percussion and sidechaining doesn't sound good in the genre if it's made to be extremely noticeable. But yeah, I think you just need a bit more high end on that kick :P
That said, you do need some sidechaining :P maybe just on your bass or saws - I find that sidechaining really helps a mix "interact" with itself, because right now all the elements of your song are kind of sitting on their own, if that makes sense. I think you also have some noise in one of your saws, because it's very noticeable and covers the entire mix in some of the choruses - it's just a layer of noise haha. It's around 10-15khz i believe. It's quite quiet, but you might want to tone it down a bit.
You have some bass in your mix, in the form of a pseudo-sub bass, but it has some weird distortion that could be part of the sound or phasing issues (put retrigger on if you're using a synth.) It also doesn't go very low at all, it doesn't sound like it goes past 300hz to me (could be lower or higher, but my ability to guess frequency seems to declined over the last year lol.) I guess I would recommend putting the bass much lower (below 100hz) and giving your plucks/saws (which are both verrrry high) some low end, give them some meat :P something around 300-500hz. Just make sure it doesn't interfere with your kick (sidechain or juggle* EQ.)
I like the actual arrangement of percussion and melody, I think the chords are good and do their job well. I think your mix is a bit top-heavy and a lot of the elements need some tinkering to fit with one another well, but that as it is it's definitely a fun song :P
*Juggle EQing is removing a frequency in one sound (like 1khz to 5khz of a saw) and then EQing that specific frequency into another, similar sound (like a lead) so that they sit with one another and don't clash. Making space using EQs is arguably one of the most important aspects of mixing in general. I also recommend cutting *any* frequency you don't need. This includes high end on sounds with no harmonics and low end on things like leads, just cut all the frequencies where there appear to be no sound. A lot of VSTs and samples have a lot of hidden low end, that when mixed can really add together.
I hope I helped, be sure not to take what I say as gospel though :P I'm still learning myself. Also, if you want advice on anything, feel free to message me!