Personally I would build it myself, mostly for fun, but (and this is a big but) I currently work for a company that provides custom, large scale eCommerce solutions (my team handles a Eurostoxx 50 corporation). I am a software engineer, I have experience, I know best practices, I know CMSs...