I’m Paul Herron
and I’m a web developer. I build online applications
with tools like CakePHP and jQuery.
SHOWstudio website rebuild
Working with front-end developer Sally Northmore, I built the SHOWstudio website in CakePHP. Notable features include search, a calendar system, online store and a custom-built blog, all manageable through an intuitive admin panel.
I played a key role in the site’s development, having input on issues like how content would be structured and what features would be present. I was solely responsible for the back-end build. As well as coding the site, this included a large data migration effort, pulling nearly a decade's worth of content out of the old site. I also took care of the new site's deployment to a scalable web hosting platform, Amazon EC2.
The site makes heavy use of Cake’s plugin architecture, server-side caching and shell script functionality.View project
Other things I’ve been working on recently
- The Angry Architect, a blog and content management system for an architecture journalist.
- The back-end for Thomas Cooksey Studio.
- Keyword Bookmarks, a site for sharing browser bookmarks.
- I was asked by the team at Notekick to help out with some front-end development on their site.
- Various odds and ends on GitHub.
A very brief CV
Back-End Web Development. 10 years’ experience with CakePHP. 2 years’ commercial experience with Symfony. Understanding of building maintainable, test-driven, scalable web applications using object-oriented code and the MVC pattern. Extensive use of PHP, MySQL, PostgreSQL and Elasticsearch.
DevOps and Systems Administration. 8 years’ experience provisioning and maintaining Linux servers to run high traffic, high availability websites. Solid command-line knowledge. Experience with Git, cron, rsync and related utilities. Ability to administer Nginx, Apache, PHP, MySQL, PostgreSQL, HAProxy, Exim, OpenSSH and other services. Knowledge of cloud platforms such as Amazon EC2 and Rackspace Cloud, and development tools like Vagrant and Jenkins.
July 2016 — October 2016: PHP Developer (Contract), Adaptive Lab
Developing a RESTful API used by Forevr, an Android and iOS contacts application. Using Symfony, domain-driven design, TDD and BDD, PHPUnit, PHPSpec, Elasticsearch, PostgreSQL, Ansible, Vagrant and AWS.
May 2016 — July 2016: Senior PHP Developer (Contract), Havas Worldwide
Maintaining and improving a Symfony-based crowdfunding platform for a global drinks brand. Deploying with Capistrano to Rackspace Cloud. Working with CDNs, database migrations and multiple translations.
May 2015 — April 2016: Technical Lead (Contract), MBA & Company
Leading a team of developers in a rebuild of this startup's web application. Overseeing the build, ensuring good architecture and a robust product. Developing using Symfony, Doctrine, MySQL, Twig, Bootstrap and Sass. Doing data migration and orchestrating the switchover to new infrastructure in Rackspace Cloud. Reporting to the COO and attending board meetings to update the company's investors. Working with the Product team to define an MVP for launch, then iterating rapidly on this. Establishing an agile workflow and test-driven approach.
October 2014 — February 2015: Senior PHP Developer (Contract), Amaze
Developing a PHP-based social publishing platform for a global hotel company. Leading development, from early prototype to production site used by 22,000 employees. Establishing an agile workflow, coding conventions, Vagrant-based development and a focus on unit testing. Using tools like CakePHP, Jenkins, Grunt, Sass and jQuery.
May — September 2014: Senior PHP Developer (Contract), MBA & Company
Technical lead, working with an in-house Junior Developer and off-site teams to improve the application for this funded recruitment startup. Building features and reducing technical debt on the Yii-based platform. Using tools like Backbone, Sass and Elasticsearch. Establishing an agile workflow and regular deployment process using tools like Jenkins.
July 2009 — April 2014: Back End Developer, SHOWstudio
Rebuilding the SHOWstudio website using CakePHP. Migrating server infrastructure to AWS. Migrating 10 years-worth of editorial content into the new application. Building features from scratch such as an online store and content management area. Using tools like PHPUnit and HAProxy. Managing live video streaming infrastructure, mailing lists, corporate email and other services.
Recent blog posts
Finding a front light for the Brompton
A front light setup that doesn't get in the way of the fold.
The state of USB OTG on the Nexus 5
The Nexus 5 is billed as fully supporting USB On-the-Go, which is exciting. But it doesn't quite work out-of-the-box.
Unlocking the bootloader on the Huawei G510-0100 using OS X
It took some fiddling to do this with my specific model of G510, and using OS X. Here are the steps.
Logging temperature over USB
A cheap USB sensor called the TEMPer1 makes an ideal temperature logging device.
Exploring the Tandy 102
Released in 1983, the Tandy 102 was the Macbook Air of its day.
Battery power for the Raspberry Pi using a Powergen 8400mah pack
You can take the Pi mobile while it's battery powered, then charge the battery from the mains while it simultaneously runs the Pi.