My (belated) Salesforce hackathon entry.