I'm learningAngular & TypeScript
I'm makingscalable fundraising support for Big Give,
an app for festivals & some dubious electro music
Sep 2018 — Present
Big Give is the UK's leading match funding donation 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 – supporting continued growth across five Christmas Challenges which saw charities raise over £100 million – in addition to smaller, focused campaigns now run year-round.
Championing agile principles, I introduced Big Give's first Continuous Integration, containerised apps, automated end-to-end and unit tests, load tests and infrastructure-as-code.
Since 2021 we've moved payment system to save donors hassle and charities money; laid groundwork for international expansion; built automatic Gift Aid claiming from HMRC; offered a significantly quicker process for returning donors; and implemented a new brand identity across several systems.
Terraform Artillery Stencil Angular TypeScript PHP Slim MySQL Redis HTML CSS Salesforce AWS WordPress + integrations with Stripe & HMRC
Feb 2020 — Present
Outlandish is a digital agency and co-operative working for social good. A regular collaborator since 2020, I've worked on projects for Greenpeace, UKSCN, Stop the War and many more.
Part of agile project teams
PHP WordPress Symfony Slim Laravel PostgreSQL Vue.js Nuxt.js React Angular Python Ansible Terraform
Launched May 2015
When.fm is an iOS and Android mobile app for planning what to see at a music or film festival.
First launched on AngularJS v1, the free app is still in official app stores – now running on the latest Ionic and Angular 16. PHPUnit & Karma tests running on CircleCI help ensure its quality & stability over time.
Since 2022 it's gained Spotify integration for automatic performance ideas, and a few thousand happy users at Glastonbury.
Ionic Angular TypeScript PHP Symfony MySQL HTML CSS Capacitor + integration with Spotify
Launched Jan 2019
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.
Ionic Angular TypeScript Capacitor Cordova
Oct 2015 — Apr 2018
My team focused on a bespoke events & fundraising platform, data-driven services and API integrations.
We prototyped containers and Terraform-backed infrastructure, gaining insight into the strengths and weaknesses of different containerisation strategies, including serverless functions.
Working on APIs required to handle huge spikes in traffic, I gained practical experience in microservice architecture and load testing.
Part of cross-functional agile team
Cloud Foundry AWS Terraform PHP Slim Behat MySQL React HTML CSS RabbitMQ Solr + Concourse for CI
Sep 2011 — Present
Since working full-time with Park Cameras 2011–12, I have 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
Small word game to try out Facebook integration and mobile web optimisation. Maintained through 2018.
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