- Voting System for Group Decision Making (Jan 2016)
Founder, Sweet Pricing (Feb 2016 – Present)
Sweet Pricing provides dynamic pricing for mobile games and apps. I founded the company in February, 2016. I am a solo founder that does everything: building the product, marketing and pitching and demoing to mobile app publishers of all sizes.
From a technical point of view, Node.js is critical to Sweet Pricing and powers the website, API and various processes. I learned enough Java and Objective-C to maintain the mobile client libraries. The software uses the following languages, technologies and libraries, in no particular order: Node.js (for almost everything), MySQL (static data), Nginx (reverse proxy), Elasticsearch (mobile app search tool), Redis (caching and message queues), Java (Android library), Objective-C (iOS library), PHP (blog, themes and plugins), Vagrant (development environment), WordPress (blog).
Having a largely technical background, marketing, sales and other business activities was largely new to me. I’ve tried to learn as much as I can, particularly through experience, but am still learning a great deal. I have a systematic approach of targeting mobile app publishers and running sales demonstrations. My technical skills have also helped: for example, I have built tools to scrape mobile app publishers and predict their ‘pipeline value’ so I can cold outreach those publishers most likely to convert. For smaller app publishers, I also launched an onboarding series of emails that help them move towards conversion.
Software Developer, CloudMargin (Oct 2014 – Jan 2016)
Imperial College London, Master’s Degree, Mathematics, First-Class Honours (2010 – 2014)
I studied Mathematics at Imperial College London, with a particular focus on statistics and machine learning. I took every statistic course offered by the department. The course equipped me with good knowledge of statistical models such as logistic regression, linear models, GLMs and others. It also introduced me to R.
My final year project novelly extended a machine learning algorithm called Online Random Forests (ORF). The modified algorithm, which I called Adaptive Online Random Forests (AORF), was capable of adapting to drifting data streams. While the original paper introducing ORF proposed a method of dropping trees from an ensemble, I constructed a method of replacing trees in the ensemble with subtrees. This improved performance on simulated and real word datasets, but there were problems with time series that had strong autocorrelation. I dealt with this problem using a windowed random shuffling technique, but I did have time to explore a truly online version of this technique.
Commons (Jan 2015; on hold)
Commons is a software platform that allows people to debate and vote on political topic. A user can create a ‘motion’, which is a proposal to change a corpus of text. The community can then vote on the motion, which ultimately results in acceptance or rejection of the motion. It the community accepts a motion, the software merges it into the main corpus.
I wrote Voting System for Group Decision Making, which details the vote counting system based on the sequential probability ratio test. This system allows motions that receive a large number of downvotes or upvotes to close quickly. Meanwhile, motions that divide opinion, stay open to count more votes. For example, if everybody is against a motion, it will take approximately 125 votes to close it. But if the motion divides opinion, the motion may only close after 1,000 or more votes.
I would like to work on Commons, but it is difficult to find time. To my knowledge, there is no other community-led website that features this type of voting system.
Thank Me Later (April 2008 – Present)
Thank Me Later is a popular open-source WordPress plugin that sends ‘thank you’ emails to a blog’s commenters. Bloggers have downloaded the plugin over 160,000 times, which it makes it the most-used software that I have written. PC Magazine lists the plugin as one of The 25 Best WordPress Plug-Ins for 2016.