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 Python Vue.js Nuxt.js React Angular Ansible Terraform
The Big Give is the UK's leading matched fundraising platform, uniting charities and donors to multiply positive impact.
From addressing concerns with the legacy platform for the 2018 Christmas Challenge to seeing a large migration through to completion, I've maintained a stubborn focus on security and load testing given the platform's highly variable patterns of demand.
Besides load tests I've introduced Continuous Integation, containers, automated tests, load testing, infrastructure-as-code and other enhancements. In doing so I've helped oversee a move to a more sustainable, scalable model that will support the continued growth expected for the platform, which now enables charities to run their own independent match campaigns year-round.
Terraform Angular TypeScript PHP Slim MySQL HTML CSS Salesforce AWS
A modern Android & iOS app for making secure, unique-per-site passwords. Follows the deterministic PasswordMaker protocol in several browser extensions and older apps, while supporting new mobile devices. Built with the latest Ionic and Angular.
Ionic Angular TypeScript
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 Solrplus 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 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
2010 — 2011
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
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