- + generally anything PHP
- Experienced with many of the older PHP frameworks + extending their life - Cake, Symfony1, Zend1 etc.
- HTML / CSS
- JAM Stack - Hugo, Gatsby, Netlify etc
- Amazon Web Services
- Docker / Containerisation
The Headteacher's Report & mySchoolWellbeing
Two projects for the same startup:
- The Headteacher’s report provides reporting services to headteachers and the wider school management to help them meet their obligations to their governors, education authorities, and parents.
- mySchoolWellbeing provides digital services to help schools discover, track and drive improvement to the wellbeing of staff, parents, and pupils.
The Headteacher’s report is a system that automates the production of reports based on data drawn from publicly available datasets issued by the Department for Education alongside data from schools’ own MIS systems. This is a computationally intensive task - so a key challenge is to manage costs whilst still providing fast turnaround. This is achieved with workload prioritisation and infrastructure scaling using EC2 instances supported by containerised services to provide near-instant ‘burstable’ capacity. I am also responsible for the web portal used day to day by customers - features include access to the reports, subscription management, and configuration of certain aspects of the reports.
mySchoolWellbeing at it's heart is a surveying tool that allows schools to periodically collect a dataset from each group (staff, parents, pupils) of stakeholders. This data is then used to monitor and track wellbeing within the school through a data portal comprising customised reports and charting. As with the Headteacher’s report, there is again a heavy dependency on data being drawn in from dfe datasets and schools' own systems.
The Adventurists are a fast moving travel operator. I co-lead the development team responsible for the tracking, administration, and ecommerce software that underpins the company’s operations.
- Tracking maps provided for the public to track participants in real time alongside curated social media posts. This is required to cope with huge traffic spikes generated by mainstream media coverage of events, achieved using a caching strategy based on pre-rendering all key assets and API endpoints to Varnish/Cloudflare with an invalidation strategy to manage content updates.
- Alongside the public maps, the system includes mission critical real time tooling used by on the ground teams to track participants by GPS and coordinate emergency medical/evacuation response when required.
- Ecommerce solution which has to provide flexibility to cover a range of events with different payment mechanisms and legal issues whilst coping with ‘surge’ traffic when in demand events go on sale.
- Responsibility for all server infrastructure and testing/CI processes.
Applied Change - Change Journey Navigator
Applied Change are a data led change management consultancy, the Change Journey Navigator is an online software product to help deliver this service.
In essence, the project is a startup, I am responsible for the entirety of the system - the system design and development, as well as the server infrastructure and it's day to day operation. The system centres around a tool for asking stakeholders a curated set of questions. Behind the scenes these are all carefully grouped and categorised which allows analysis of the results against the Applied Change Model. The results of the survey are delivered through a reporting 'dashboard' that allows Applied Change to analyse the results in real time, including the ability to dig into and compare data across different aspects of the 'model' as well as between locations, business groups and time periods. This in turn helps businesses to understand what is and is not working and why, ultimately enabling them to drive change. The cycle can then be repeated to track progress and measure the impact of the change.
The product is multi tenant - Applied Change use it, but they also provide the software to other change practioners to use with their clients; consequently it is multi-tenanted with all that goes with that - for example user management, account levels, billing, and security.
The Visa Machine
Visit (link no longer live)
I lead the development team responsible for developing and maintaining the software used by this multi-national online visa application service.
A key component is a decision engine that recommends the most appropriate visa for your trip based on facts such as where you are going, how long for, and what for - from over 10,000 configured products. This ties in with a multi-channel ecommerce system that allows The Visa Machine and over 100 partners/resellers to sell products, each with a customisable product range and pricing alongside differing commercial arrangements.
We also deliver the backend system used by staff across four global offices to administer procurement and delivery of visas and management of the product catalogue.
Legacy management is a key component on this project as well. We regularly review/assess the state of the system, flagging where we have to make upgrades for security or operational reasons. I also identify and make recommendations when other opportunities to make upgrades arise and are commercially sensible.
I’m also responsible for all server infrastructure and devops processes.
Various Digital Agencies
I provide outsource development support to a number of agencies, usually taking on specific projects outside the in-house skillset or capacity. I have occasionally filled in as a part time lead developer providing support and consultancy to in-house development teams.
Projects have been all shapes and sizes - including ecommerce, management systems, WordPress plugins, security audits, performance consultancy, server migrations, and mobile applications.
End clients have included British American Tobacco, Currys PC World, Diageo, Lindt, Nestle, Liverpool FC and Oxford University.
Data Sync / Process Automation
I take on smaller/ad-hoc development tasks to address specific problems businesses have - loosely within the realm of process automation.
Examples include syncing orders between websites and accounting software; customised reporting; syncing stock levels between warehousing and ecommerce; integration with Amazon Vendor Central.