I've done
I'm learning
Angular & TypeScriptI'm making
scalable fundraising support for Big Give,an app for festivals & some dubious electro music
- Now
-
Sep 2018 — Present
↑ TopBig Give
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.
Tech lead
Terraform Artillery Stencil Angular TypeScript PHP Slim MySQL Redis HTML CSS Salesforce AWS WordPress + integrations with Stripe & HMRC
-
Feb 2020 — Present
↑ TopOutlandish
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
↑ TopWhen.fm
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.
Solo project
Ionic Angular TypeScript PHP Symfony MySQL HTML CSS Capacitor + integration with Spotify
-
Launched Jan 2019
↑ TopWebful PasswordMaker
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.
Solo project
Ionic Angular TypeScript Capacitor Cordova
-
Oct 2015 — Apr 2018
↑ TopComic Relief
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
↑ TopPark Cameras
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
PHP Zend Framework MySQL SQL Anywhere HTML CSS JavaScript jQuery Ruby Rails Crystal Reports Ansible inc. Google AdWords & Analytics API client libraries, and code to consume proprietary RESTful & SOAP APIs
-
Launched Dec 2014
↑ TopHour 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
PHP Zend Framework MySQL HTML CSS JavaScript jQuery Solr
-
Aug 2013 — Nov 2013
↑ TopFirst Tutors
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
↑ TopBlue Compass
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
-
Mar 2011
↑ TopTrackword (retired)
Small word game to try out Facebook integration and mobile web optimisation. Maintained through 2018.
Solo project
PHP MySQL JavaScript jQuery HTML CSS + Facebook integration
-
2010 — 2011
↑ TopCambridge 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
↑ TopChurchill 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.
Solo project
PHP MySQL HTML CSS + PayPal integration
-
2005 — 2006
↑ TopVarious freelance projects
Took on several development projects, mostly using PHP, including a system to run an aquarium competition and customising CubeCart.
Solo projects
PHP MySQL HTML CSS + PHPNuke CMS mod & CubeCart commerce system