Success at School is a platform that connects students to employers and provides career & study advice.
Initially 2014 — 2016 and resuming over the past few months, I've been the primary developer improving and adding to the site's existing Symfony codebase.
Improving existing codebase
My role at Comic Relief focused on Payment processing, Identity APIs and Giving Pages. I worked on the ongoing transition of these to microservices, and intelligent front-end journeys built with reusable React components.
I worked on a move to Cloud Foundry and 12-factor apps that are run with Docker during development, used Terraform to manage supporting AWS services, and helped configure new Concourse CI pipelines for several projects.
In 2017 we launched year-round Giving Pages, allowing fundraisers to collect sponsorship at any time on a convenient platform, without losing any portion of donations to third-party fees. The system's designed to support quicker addition of specific campaigns like Sport Relief 2018 too. The Identity and Payment APIs supported the Sport Relief steps app and are tested at scale to handle the massive load spikes of the annual campaign.
The Payment service I worked on leverages Omnipay to support multiple payment service providers, while offering a common interface we can share across Comic Relief sites that need to take money. I also contributed to a new open source Omnipay adapter for Worldpay's Hosted Corporate Gateway, which allows Comic Relief to process donations reliably at higher volumes.
Part of cross-functional agile team
Cloud Foundry PHP Slim Behat MySQL React HTML CSS RabbitMQ Solr
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 a Jenkins CI server for tests and quality assurance.
A shiny new front-end built with the latest Ionic and Angular is coming summer 2018!
AngularJS PHP Symfony MySQL HTML CSS Cordova / Phonegap Ionic
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
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.
All initial server-side and most front-end development
I prototyped new features and refactored existing code, as well as writing components for a new bespoke framework to form a basis for future sites.
I delivered features successfully, and optimised database use to speed up some key queries by orders of magnitude.
Working with & refactoring existing codebase
PHP MySQL HTML CSS3
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 major database conversion to fix a long-standing text encoding problem.
I consulted with staff 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
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
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
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