Switched to client side calculations

Result is rendered from a mustache.js template.