Server-side: MySQL, PHP, Laravel, Symfony, WordPress, CodeIgniter, NodeJS, Bash, Python. Client-side: HTML, SVG, JavaScript, jQuery, CSS, SASS, Service Worker API, Ionic, AngularJS, WebGL (Three.js), WebSockets. Testing: Behat, PHPUnit (+ dbUnit), PHPSpec. Build tools: Webpack, Grunt, Gulp, Broccoli, Jekyll, Elixir. Deploy tools: Capistrano, Jenkins, Heroku. APIs: Google Maps, MapBox, HighCharts, Twitter, MeetUp, MailChimp, Transport, ISBNdb. Protocols: Open Graph, Rich snippets. Server Admin: Apache, Nginx, Linux, CentOS, Unix (Apple OS X), SSL HTTPS, Vagrant Other: Arduino, Raspberry Pi.
Open source contributor.
Adobe CC (Photoshop + Illustrator), logo and style design, sketching/drawing, wireframing, 2D and 3D animation, 3D modelling, digital photography + retouching, video production.
Responsive web design, accessibility, UX, DX.
Public speaking, teaching, project management, statistical visualisation, prototyping, sketching.
Climbing. Snowboarding. Painting and drawing. Member of local running club. Wild swimmer. I dabble in Bitcoin.
Commissioning artist / Artist in residence at University of Plymouth / Open mic host / Juggling teacher / Nightclub VJ / Gardener / Pancake chef
I am a creative full-stack web developer with a passion for UX. I take a customer-first approach and work across all the technological components to implement features that add value. I thrive in a culture of innovation and high standards and love a good discussion about how best to tackle something.
Worktribe are a product company well-established within higher education, making administration software relied on by many UK Universities. I was recruited to help maintain their mature legacy PHP codebase whilst also leading the new build of a Laravel API which will serve multiple native apps and ultimately become the replacement.
Via my role as Principal Developer at Nomensa
A bespoke application for Royal College of Anaesthetists to track learners progress toward qualifying. Many complex multi-user workflows with strict role-based permissions. I led a team of 3 devs (me + 2), full time for over 2 years to deliver and then iteratively improve my largest and most complex application to-date. Recruited to rescue the project, I inherited the codebase in a bad state and applied proper Laravel-style techniques to leverage the full power of the framework. Built in Laravel and JavaScript, test-coverage with Behat and pipeline/deployment managed through GitLab CI. Notable features included partial functionality offline via Service Worker API.
3D WebGL interface for visualising live data over WebSocket connection to the Bloodhound SSC. Delivered via contract at Zubr VR. Large JavaScript code base, deployed with Capistrano.
An employee benefits provider tasked me with building a news and social platform capable of being channelised for multiple companies and integrating with their current legacy system. New-build in PHP 7, Laravel 5.4. Bootstrap 3 for rapid templating. Deployed with Capistrano.
After my previous rescue effort for Real World Visuals they asked me to pick up an unfinished, partly broken CodeIgniter project, pull the back-end code up to standard and get it stable and live-ready. Deployed with Capistrano.
Real World Visuals needed some help making a fledgling product fit for demonstration. Picking up where another dev left off I merged 2 tightly-coupled repos that should never have been separate and worked across the full stack to polish and standardise the codebase so that I could then implement critical features ready for client demo. PHP (CodeIgniter framework), SQLite database, RESTful API and WebGL, JavaScript, CSS interface. Deployed with Capistrano.
PHP site with public login and private CMS. 23,000+ active monthly users. Everything you see on the site was designed and coded by me. It hosts user-generated content so I have had to come up with solutions to tackle problems with data quality, data rot, spam, duplication and abuse.
A platform for a charitable startup. OAuth Authenticated RESTful API (Laravel 5 running on PHP 7) allows mutliple internet-enabled stock scanners (Python scripts running on Raspberry Pi) to log books. A cron task queries a public API to process the scanned ISBN numbers. Special emphasis on absolute ease of use at speed.
Mobile web app (JavaScript) that uses device GPS sensor to enable users to submit poetry along defined walking routes. Profanity checker filters obviously offensive content. Tests written in PHPUnit. CMS and RESTful API in PHP.
Previously built with outdated and messy PHP the system had begun to run frustratingly slow. I performed code surgery, properly normalised the MySQL database (58+ million rows) and successfully reduced report generation time from minutes to seconds. I also modified the front-end interface with tips and validation to ensure the users were inputting standardised data.
Via my role as Senior front-end developer at Somo Global (2015)
I was responsible for JavaScript, CSS and some PHP (Symfony framework) on a CSR charity project. It involved complicated data visualisation in the form of charts and interactive maps. Was live at www.horizondata.net.
Via my role as Senior web developer at Carmen Data Ltd (2012-2015)
Decision making tool for company car drivers. Interactive JavaScript front end hitting API.
Via my role as Senior web developer at Carmen Data Ltd (2012-2015)
Finance quote calculator for company car drivers. Backed by a MySQL database of millions of prices.
Via my role as Senior web developer at Carmen Data Ltd (2012-2015)
Buying decision making tool for company car drivers. Animated interactive interface that updates live via JavaScript and a RESTful API.
Via my role as Senior web developer at Carmen Data Ltd (2012-2015)
Rebuild and rebrand post acquisition. Interaction and UX design. Logo design, UI design, JavaScript, CSS, Coldfusion 9.
Via my role as Senior web developer at Carmen Data Ltd (2012-2015)
Long-established and trusted but quite niche and ugly. Continual improvement of products and taxation decision tools. Backwards compatibility for executives still running IE7 on XP. Performs complex financial projections and displays the figures in the most easily understandable way (often interactive).
Award-winning literacy app for KS2+3 in schools. GPS triggered interactive story. Written mainly in JavaScript with PHP and MySQL back-end. Unique challenge of UX and UI design for children.
Working alongside graphic design for print. Introduced new web department delivering new builds and maintenance of sites for company's existing print clients.
Produced online video tours of luxury vehicles. Overhauled the design of the company website. Adobe Flash animation and SEO. Learned PHP for the role.