I'm learningAngular & TypeScript
I'm makingscalable fundraising support for The Big Give,
an app for festivals & some dubious electro music
Feb 2020 — Present
Outlandish is a digital agency and co-operative working for social good. Collaborating occasionally since 2018 and regularly through 2020, I've worked on projects for Greenpeace, UKSCN, the Wellcome Sanger Institute and many more.
Part of agile project teams
PHP WordPress Symfony Slim Laravel PostgreSQL Vue.js Nuxt.js React Angular Python Ansible Terraform
The Big Give
The Big Give is the UK's leading matched fundraising platform, connecting charities, philanthropists and donors to multiply positive impact.
Since 2018 I've brought a focus on security, stability and scale to the platform to support its continued growth and variable patterns of demand, during which time we've seen charities raise £73m across four Christmas Challenges in addition to more campaigns year-round.
Championing agile principles, I also introduced the Big Give's first Continuous Integation, containerised apps, automated end-to-end and unit tests, load tests and infrastructure-as-code.
In 2021 we accelerated a payment provider migration to save charities money and donors time, added multi-currency support, built an in-house Gift Aid solution integrated with HMRC and supported charities to raise over £30 million.
Terraform Artillery Angular TypeScript PHP Slim MySQL Redis HTML CSS Salesforce AWS + integrations with Stripe & HMRC
A modern Android & iOS app for making secure, unique-per-site passwords. Follows the deterministic PasswordMaker protocol used in several browser extensions and older apps, while supporting new mobile devices. Built with the latest Ionic and Angular.
The main app's code and its supporting library are open source.
Ionic Angular TypeScript
Success at School
Success at School is a platform that connects students to employers and provides career & study advice.
Initially 2014 — 2016 and resuming in recent years, I've been the primary developer improving and adding to the site's existing Symfony codebase. Since 2018 I've focused on security and modernising the system's infrastructure & deployment processes.
Lead developer improving existing codebase
Oct 2015 — Apr 2018
My focus included supporting data-driven services and API integrations for outside tech partnerships, and maintaining a now-retired events management and fundraising platform.
My team was supported to trial live containers and Terraform-backed infrastructure, gaining valuable insight into the strengths and weaknesses of different containerisation strategies, including serverless functions.
Working on APIs required to handle huge annual spikes in traffic, I gained practical experience in microservice architecture and large-scale load testing.
Part of cross-functional agile team
Cloud Foundry AWS Terraform PHP Slim Behat MySQL React HTML CSS RabbitMQ Solr + Concourse for CI
Launched Jul 2015
When.fm is a mobile app for planning what to see at a music festival. It uses hybrid technologies to leverage native device plugins across iOS & Android.
Tests run on PHPUnit, Protractor & Karma. The back-end has used Jenkins and now CircleCI for its tests and quality assurance.
First launched using AngularJS (v1), the updated app is live in app stores and runs on the latest Ionic and Angular 9.
Ionic Angular PHP Symfony MySQL HTML CSS Cordova
Sep 2011 — Present
Since working full-time with Park Cameras 2011–12, I have since helped on a freelance basis with projects covering pricing, shipping and customer satisfaction, amongst others.
I have worked on existing codebases spanning a wide range of technologies, and integration with numerous third-party APIs.
Mostly solo projects
Launched Dec 2014
Hour of Writes
Hour of Writes is a weekly creative writing competition. Throughout its development I've worked with several parties to implement a carefully refined design and add features to our initial prototype.
I wrote the live site's server-side code and most front-end scripts & CSS.
Server-side and most front-end implementation
Aug 2013 — Nov 2013
I prototyped new features, refactored existing code and wrote components for a new bespoke framework to support future development.
As well as delivering value in new journeys, I optimised database use to speed up key queries by orders of magnitude.
Working with & refactoring existing codebase
PHP MySQL HTML CSS3
Aug 2012 — Jun 2013
I was often the main developer on hand supporting & developing a network of recruitment sites for the arts, the largest with 300,000 active users.
I improved database use to cut the biggest site's server response time by over 50%, and led a database conversion to fix a historical text encoding problem.
I consulted with colleagues to build a more intuitive interface for employers to manage audition slots, and a redesigned newsletter which displays well in all common email clients.
Adapting existing codebase
PHP MySQL HTML CSS3 jQuery inc. mobile optimisation / responsive design
Small word game to try out Facebook integration and mobile web optimisation. Maintained through 2018.
2010 — 2011
Cambridge Computer Science "IB"
Switched after 2 years of Philosophy; whirlwind coverage of a broad range of technologies including Java, Prolog, C, Unix tools, databases, MIPS and theory around security, algorithms, graphics and mathematical methods, amongst others.
SQL Java Prolog C Unix tools
Sep 2009 — Feb 2010
Churchill College Spring Ball
I developed a new flexible platform which allowed for online ticket payments, and a custom barcode system that made entry faster and avoided the old solution's dependence on antiquated hardware.
PHP MySQL HTML CSS + PayPal integration
2005 — 2006
Various freelance projects
Took on several development projects, mostly using PHP, including a system to run an aquarium competition and customising CubeCart.
PHP MySQL HTML CSS + PHPNuke CMS mod & CubeCart commerce system