Piano melodies were beast, loved those funky riffs. Drums were well programmed too, rhythm was tight. I'd recommend adding some dynamic changes in velocity data. It would help put some life into the drums by emulating the velocity switch ups from hit to hit that a live drummer would have. It's amazing how much that one trick will add life to your drums. Since I play, I'll mention that I put a lot of emphasis on whole notes like one and three, then use softer hits every where else. Percussion can crescendo and decrescendo to emulate the physical actions an actual drummer plays with. Drummers don't necessarily have a lot to be "emotive" with so dynamics is key. Volume is one of the few tools a drummer has to convey emotion. Play around with making notes louder and quieter :3
The hi-hats are a great thing to point to, you can slap on an automation lane for hi-hat volume and draw some fake dynamics rather quickly. Draw some peaks and valleys on the automation lane, copy and paste the automation when you have some dynamics that sound alive. I'm actually not sure what program your using or if it has a tool like this but it would be faster than selecting and fixing each individual note.
I really do love this song. I just want a little extra babe. You'll find out rather quickly what that volume control does for drums. Think of an object being far away. By playing quietly, then slowly getting louder the drums create the illusion that they are moving around in space, AND THAT IS INSNANE. drums are far away AND NOW THEY ARE RIGHT HERE. ARE THEY ON WHEELS???