-  VirtueCurrent PurposeMake it easy for any e-commerce store to support charitable causes and enable their customers to do so as well OutcomeI've taken over the day-to-day running of the platform from the technical co-founder, Liam. We're getting it ready to scale and adding features at the same time. - AWS
- Rails
- Shopify
- Typescript
 
-  Val TownDecember 2023 PurposeEnd-user programming: everyone should be able to build software, tailor apps to their needs, and automate their lives OutcomeBy working closely with Steve, Val Town's CEO, I could prioritise and work through critical, missing parts of the Val Town documentation. From interactive API docs to simple, clear guides, I could step in and plug the urgent gaps quickly. I fleshed out many of the newsletters before Steve added his magic touch to them and often acted as an editor for Steve's written content, providing him with quick, critical feedback that he could action. Day to day, I also helped the team with their community engagement on their Discord server. - Deno
- Good, old fashioned writing
- Typescript
- Val Town
 
-  Equal Care CoopCurrent PurposeTransform social care, putting power in the hands of those doing the caring and being cared for. OutcomeFingers still crossed. There's a quiet revolution going on... - Cypress
- Keycloak
- Neo4J
- NestJS
- NextJS
- PostgreSQL
- RocketChat
- Tailwind
- Typescript
 
-  Plural.AIAugust 2021 PurposeEnable rapid exploration to discover product-market-fit with knowledge tools in the financial sector. OutcomeAs the second engineer, I worked with my counterpart to enable the rapid exploration process that was necessary for this early stage of the business. We complimented each other nicely; myself taking a sleight weighting towards the front-end and design. Some of the things that we worked on included: ingesting semi-structured data and transforming that into a user-defined schema to surface links between data points, building a jupyter-style notebook for data exploration, lots of small experiments with our users that uncovered the problems they face and the way that they see the world. - PostgreSQL
- React
- Typescript
 
-  InfluentOctober 2020 PurposeA close friend and all-round excellent person set out on a new venture and needed some help bootstrapping their initial MVP. OutcomeI played a small role in getting their product out and in front of potential customers. They're now deep down the path of startup life. - Firebase
- Javascript
- React
 
-  In StockMay 2020 PurposeMy partner was struggling to get any clothes that she liked during Coronavirus lockdown. Whilst there were many items that she liked the look of, managing to find her size in stock was a nightmare. OutcomeIn a week I managed to deploy version 1 - a small Rails application allows you to sign up for automatic stock updates to your emails whenever one of the sizes you're interested in is back in stock. Sadly, about two days before the end ASOS released their own version of this in their app. - Figma
- Rails
 
-  Honey We're HomeMay 2020 PurposeThe team behind the Honey We're Home podcast wanted to share their work with more people. I offered to put together a small website for them so that they can showcase what they've been up to. OutcomeThis static site was built from scratch with the tastes of the podcast crew in mind. From initial 'sharpie designs' to wireframes, they were engaged the whole way. With content being updated infrequently, a CMS was overkill and a simple script allows me to update the content and deploy a new version in about 2 minutes. - Figma
- Gatsby
 
-  Residently Mobile AppJuly 2020 PurposeThis greenfield project was born so that residents that engage with Residently have a single, obvious point of contact with all things home-related. OutcomeThis app is still being built as we speak, with a great CD pipeline and manageable React Native codebase. There has been significant work to help move the older backend application structure towards using OAuth across the board. Our phased approach allows for incremental adoption across the services we run whilst giving us the flexibility to begin opening up endpoints to the big wide world. - Detox
- Jest
- OAuth
- React Native
- Redux
 
-  Residently Data WarehousingFebruary 2020 PurposeAccessing our data in order to answer core questions about our business was really difficult. In order to make this more flexible, performant and scalable I was tasked with creating our data warehousing solution. OutcomeIn two months we transitioned across a spike phase to regular delivery and have an end-to-end implementation that spans database to Looker visualisations. The code is easy to understand, fully tested, performant and highly parallelisable as we scale. - Looker
- Rails
- Redis
- Sidekiq
 
-  Report + SupportOctober 2019 PurposeSexual harassment, bullying, violence... These are all issues that are incredibly hard to deal with and often go unreported. Organisations, especially large ones, struggle with providing the platform that enables the reporting of these events and then struggle to collect the data needed to influence further action. Report + Support provides a mechanism for both reporting of incidents and getting help whilst dealing with the fallout. OutcomeWithin a week I was on-boarded and had deployed a new client's site, tackling issues and building the required features along the way. Disparate beta deploys needed migrating to a rebuilt version of the application along with a number of features that hadn't been created in the new version. I encouraged the use of a Technical Debt board to better track those things that kept slipping through the cracks. - CloudFront
- CSS
- Express
- Git
- GitLab
- GraphQL
- Jest
- Keystone
- React
- Sequelize
- Serverless
 
-  Joseph Ibbett PhotographyMay 2019 PurposeProvide a rapidly available, cheap solution to a client's new venture. OutcomeA self-service, beautiful website is available at only $10/yr (compared to about $20/month for commercial sites). - CSS
- Eleventy
- Git
- GitHub
- Javascript
- Markdown
- Netlify
 
-  CorGISJuly 2019 PurposeProvide a SaaS solution for viewing a wide variety of geospatial data in the same interface. OutcomeA previously bespoke application development process was rendered obsolete, with lead times cut from months to minutes. A unique approach to dynamic legend generation allows for any user to engage with the data, regardless of their background, and broadens the audience available to the product. - Behaviour Driven Design
- Confluence
- Cypress
- Docker
- Git
- GitLab
- JIRA
- PostgreSQL
- Python
- Rancher
- React
- Typescript
 
-  Expressways OMSMay 2019 PurposeProduce a quantitative prediction for the efficacy of road upgrades on A-Roads across the country, using statistical analysis and simulated transport modelling. OutcomeA novel approach to sampling and combining transport models, allowing Highways England to make early-stage calls on whether to go ahead with the schemes well in advance of normal operating time frames. - Bitbucket
- Confluence
- Django
- Docker
- Domain Driven Design
- Git
- HTML
- JIRA
- Pandas
- PostgreSQL
- Python
- Rancher
 
-  NRTC TrainingDecember 2018 PurposeEnable the Department for Transport to administer and manage the certifications required to undertake road count surveys. OutcomeAn easy-to-use, robust system in an extremely short time-frame. - Bitbucket
- Git
- JIRA
- PostgreSQL
- Python
 
-  Turing LabAugust 2018 PurposeTuring Lab provides a learning platform for under-privileged children to learn how to code. OutcomeBy leading a very capable team of graduates, I helped enable Turing Lab to take essential steps towards their goal of being a nationally scalable product. They were trained in Agile methodologies, TDD and the importance of testing in CI/CD. BJSS were awarded 'Pro Bono Company of the Year' for this work. 
-  NHS AppAugust 2018 PurposeThe NHS App (despite being the brainchild of Jeremy Hunt) allows patients to control lots of their daily health needs in one place. It connects previously disparate systems to provide a more connected view of NHS services, giving patients greater choice and control over their appointments/bookings whilst reducing strain on the NHS by nudging patients to more appropriate locations. OutcomeA novel approach to test components means that the hybrid app, served across a multitude of devices including: desktop web browsers, mobile web browsers, Android and iOS can all be tested with one fluid syntax. This reduces the complexity involved and allows the team to focus on testing, rather than getting the tests to work. The NHS App is currently in public release. - Appium
- Browserstack
- Docker
- Git
- GitLab
- Kotlin
- Selenium
- TeamCity
 
-  NHS eRSMay 2018 PurposeAllow the NHS to regain control of their first outpatient booking system - a code base that was not owned by them. My specific role aimed to create a fast, flexible and thorough automated testing framework for the system. OutcomeTests that took weeks to write previously now take about an hour, whilst simultaneously being easier to read and write. This encouraged everyone on the team to be involved with the automated testing, leading to a huge reduction in: mismatched requirements/functionality, manual testing effort, time to release. - Confluence
- Git
- Java
- Jenkins
- JIRA
- Selenium
 
-  Data ProcessorMarch 2016 PurposeKeep my technical skills sharp whilst enjoying a musical career. OutcomeA process that previously involved two days of manual effort was reduced to about 30 minutes. Extra time could be spent on exploring an analytics capability for the company, using rainfall to predict catastrophic run-off water levels. - Python
 
-  Assorted Musical ProjectsJune 2016 PurposeStretch ourselves to see if we could take a small project and turn it into a profitable way of life. OutcomeOne night a week turned into 7 gigs a week. Playing in Sheffield turned into playing all across the North of England. Playing one instrument turned into playing something different with every limb and singing at the same time. The band is still going from strength to strength without me. 
-  Master's Degree, AstrophysicsJuly 2015 PurposeExplore a subject that I found very interesting and along the way learn how to solve complex problems. OutcomeA graduate-award-winning degree. - Git
- HTML
- Javascript
- Python
- Raspberry Pi
 
-  VirtueCurrent 
-  Val TownDecember 2023 
-  Equal Care CoopCurrent 
-  Plural.AIAugust 2021 
-  InfluentOctober 2020 
-  In StockMay 2020 
-  Honey We're HomeMay 2020 
-  Residently Mobile AppJuly 2020 
-  Residently Data WarehousingFebruary 2020 
-  Report + SupportOctober 2019 
-  Joseph Ibbett PhotographyMay 2019 
-  CorGISJuly 2019 
-  Expressways OMSMay 2019 
-  NRTC TrainingDecember 2018 
-  Turing LabAugust 2018 
-  NHS AppAugust 2018 
-  NHS eRSMay 2018 
-  Data ProcessorMarch 2016 
-  Assorted Musical ProjectsJune 2016 
-  Master's Degree, AstrophysicsJuly 2015