Curriculum Vitae

Martin Joiner    Bristol, UK       github.com/martinjoiner

About Me

I am a creative full-stack developer with a passion for good UX. I enjoy roles with an element of mentoring. Not afraid to work on improving all the components of software including the documentation and processes that create it. I thrive in a culture of innovation and modern standards and love a good team discussion to decide our best approach. Open source contributor.

Professional Skills

Tap a tech to highlight

Languages

PHP, MySQL, JavaScript

Frameworks

Laravel, Symfony, CodeIgniter, WordPress

Behat, PHPUnit, Psalm, CodeSniffer

Frontend

React Native, Ionic, AngularJS, WebGL (Three.js).

Infrastructure

REST APIs, CI Pipelines, WebSocket, AWS, Firebase, Capistrano, Jenkins, Heroku.

Static asset tools

11ty, Gulp, Webpack, Grunt, Broccoli, Jekyll, Elixir.

Dev

Vagrant, Docker

Hobbyist

Raspberry Pi, Arduino.

Visual

Adobe CC (Photoshop + Illustrator), logo and style design, drawing + illustration, wireframing, 2D and 3D animation, 3D modelling, digital photography + retouching, video production.

Interactive

Responsive web design, accessibility, UX, DX.

Communication

Public speaking, leadership, mentoring, project management, statistical visualisation, prototyping, sketching.

Notable Projects

CarePlanner

Sep 2022 - Present

Joined as part of the API Team, built a complex new endpoint that projected composite data over a calendar view.

Promoted to lead a new Integrations Team inheriting 5 complicated projects written in PHP Symfony with AWS SNS/SQS powered event driven architecture. They all needed words and diagrams to document how they worked with partner company's APIs.

Devised a new internal platform for support staff to manage partner integrations. This included unprocessable entity reporting and JavaScript WebSocket powered animated progress bars that visualise the huge sync jobs which can take up to 40 minutes.

During acquisition by Nourish Care I led the new build of the CarePlanner-Nourish integration project.

All projects use CircleCI running Behat PHPUnit Psalm CodeSniffer and Docker for local dev.

Worktribe

2020 - Feb 2022

University administration software. Helped maintain their mature legacy procedural PHP codebase.

Led the build of a new backend. An API built in Laravel on PHP 8 that published live chat to a JavaScript WebSocket server and used Firebase Cloud Messaging for notifications. Automated tests in Behat run by ChipperCI. Wrote command-line scripts to produce a simulation of live chat for load-testing whole system. Contributed to React Native app. Administered deployments to AWS. Dabbled in Docker.

RCoA Lifelong Learning Platform

2017 - 2019

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 this complex application. 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.

Open Mic Finder

2010 - Present day

I built Open Mic Finder in 2010 driven by a frustration at the lack of reliable online information. Over a decade later and it's still running with ~16,000 unique users per month, with a database holding ~4000 sets of venue details, all submitted and maintained by the users themselves. It generates no revenue but I keep it alive as a demonstration of my ability to design, build and administrate an entire website on a long term basis.

Over the 14 years I've taken it from PHP version 5.4 to 8.3, survived the browser wars, replaced the interactive Flash map with Google Maps API, made the interface responsive, played with Open Graph Protocol and Rich snippets, Leveraged several free APIs (Twitter, MeetUp, MailChimp, Transport), tried and failed to attract sponsorship, moved from Vagrant to Docker for local dev, added tests in PHPUnit.

Bloodhound VR

Autumn 2017

Via contract at Zubr VR

3D interface (WebGL) for visualising Bloodhound SSC's live vehicle data during its practice attempt in Cornwall in 2017. Using a WebSocket connection to a backend that was receiving data via an API from their vehicle metrics partner Oracle. Large JavaScript code base, deployed with Capistrano.

Channelised Company Intranet

Summer 2017

Via contract at Create Health

An employee benefits provider tasked me with building a news and social platform capable of being customised for multiple companies and integrating with their current legacy HR systems. New-build in PHP 7, Laravel 5.4. Bootstrap 3 for rapid templating. Deployed with Capistrano.

Carbon Reduction Scenario Simulator

Spring 2017

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.

Estate Carbon Emissions Visualiser

2017

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, REST API and WebGL, JavaScript, CSS interface. Deployed with Capistrano.

BookFetch

2017

A failed charitable startup. Built an OAuth protected REST API (Laravel 5 running on PHP 7) that allowed any cheap Raspberry Pi with a USB barcode scanner attached and running a Python script to rapidly log a shop's stock. The backend would then identify the books using the ISBNdb API, scrape online retail prices and identify which books are worth listing for sale online.

Poetry Pin

2016

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 REST API in PHP. WordPress blog with custom theme for project news.

Food Franchiser's Internal System

2016

An outdated and messy legacy PHP (Concrete 5) codebase had begun to run frustratingly slow. I performed code surgery and properly normalised the 58+ million row MySQL database, managing to successfully reduce report generation time from minutes to seconds. I also improved the frontend interface, adding tips and strict validation to ensure the users were inputting data in a standardised format.

Horizon Data

2015

Via my role as Senior frontend developer at Somo Global (2015)

I was responsible for JavaScript, CSS and some PHP (Symfony) on a CSR charity project. Visualisation of geographic data on charts and interactive maps. Was live at www.horizondata.net but no longer online.

Carmen Data / Comcar

2012 — 2015

Decision-making tools and finance quote calculators for company car drivers. JavaScript interfaces backed by a REST API made in ColdFusion 9. A MySQL database of millions of models, vehicle options, emissions data and prices.

Performs complex financial projections and displays the figures in an interactive interface. Backwards compatibility for executives still running IE7 on XP in 2015.

Led the rebuild and rebrand after Carmen Data acquired Compare Contract Hire. Including UX design, UI design, Logo design.

Projects for brands including Mercedes-Benz, Ford, Kia.

Storywalks

2012

Award-winning literacy app for KS2+3 in schools. GPS triggered interactive story. Front-end written in vanilla JavaScript, optimised for mobile and using device GPS. Data fed by a PHP and MySQL REST API. Unique challenge of UX and UI design for children.

Other interests

Rock Climbing. Snowboarding. Painting and drawing.

Other (non-web) jobs

Commissioning artist / Artist in residence at University of Plymouth / Open mic host / Juggling teacher / Nightclub VJ / Gardener / Pancake chef

Historic roles

Web designer at Wessex Malthouse Design 2008 – 2009

Working alongside graphic design for print. Introduced new web department delivering new builds and maintenance of sites for company's existing print clients.

Video & Web designer at Highbridge Caravans 2006 – 2007

Produced online video tours of luxury vehicles. Overhauled the design of the company website. Adobe Flash animation and SEO. Learned PHP for the role.

Formal Education

  • 2003-7 BA (Hons) Fine Art – 1st Class Honours – University of Plymouth
  • 2001-2 BSc (Hons) Computing Informatics – University of Plymouth