I'd recommend using Mocha.hs and Should.js. Logic around the graphs and percentage calculations would be the most important place to start.