- Virtue
Current
Purpose
Make it easy for any e-commerce store to support charitable causes and enable their customers to do so as well
Outcome
I'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 Town
December 2023
Purpose
End-user programming: everyone should be able to build software, tailor apps to their needs, and automate their lives
Outcome
By 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 Coop
Current
Purpose
Transform social care, putting power in the hands of those doing the caring and being cared for.
Outcome
Fingers still crossed. There's a quiet revolution going on...
- Cypress
- Keycloak
- Neo4J
- NestJS
- NextJS
- PostgreSQL
- RocketChat
- Tailwind
- Typescript
- Plural.AI
August 2021
Purpose
Enable rapid exploration to discover product-market-fit with knowledge tools in the financial sector.
Outcome
As 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
- Influent
October 2020
Purpose
A close friend and all-round excellent person set out on a new venture and needed some help bootstrapping their initial MVP.
Outcome
I 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 Stock
May 2020
Purpose
My 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.
Outcome
In 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 Home
May 2020
Purpose
The 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.
Outcome
This 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 App
July 2020
Purpose
This greenfield project was born so that residents that engage with Residently have a single, obvious point of contact with all things home-related.
Outcome
This 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 Warehousing
February 2020
Purpose
Accessing 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.
Outcome
In 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 + Support
October 2019
Purpose
Sexual 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.
Outcome
Within 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 Photography
May 2019
Purpose
Provide a rapidly available, cheap solution to a client's new venture.
Outcome
A 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
- CorGIS
July 2019
Purpose
Provide a SaaS solution for viewing a wide variety of geospatial data in the same interface.
Outcome
A 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 OMS
May 2019
Purpose
Produce a quantitative prediction for the efficacy of road upgrades on A-Roads across the country, using statistical analysis and simulated transport modelling.
Outcome
A 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 Training
December 2018
Purpose
Enable the Department for Transport to administer and manage the certifications required to undertake road count surveys.
Outcome
An easy-to-use, robust system in an extremely short time-frame.
- Bitbucket
- Git
- JIRA
- PostgreSQL
- Python
- Turing Lab
August 2018
Purpose
Turing Lab provides a learning platform for under-privileged children to learn how to code.
Outcome
By 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 App
August 2018
Purpose
The 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.
Outcome
A 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 eRS
May 2018
Purpose
Allow 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.
Outcome
Tests 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 Processor
March 2016
Purpose
Keep my technical skills sharp whilst enjoying a musical career.
Outcome
A 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 Projects
June 2016
Purpose
Stretch ourselves to see if we could take a small project and turn it into a profitable way of life.
Outcome
One 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, Astrophysics
July 2015
Purpose
Explore a subject that I found very interesting and along the way learn how to solve complex problems.
Outcome
A graduate-award-winning degree.
- Git
- HTML
- Javascript
- Python
- Raspberry Pi
- Virtue
Current
- Val Town
December 2023
- Equal Care Coop
Current
- Plural.AI
August 2021
- Influent
October 2020
- In Stock
May 2020
- Honey We're Home
May 2020
- Residently Mobile App
July 2020
- Residently Data Warehousing
February 2020
- Report + Support
October 2019
- Joseph Ibbett Photography
May 2019
- CorGIS
July 2019
- Expressways OMS
May 2019
- NRTC Training
December 2018
- Turing Lab
August 2018
- NHS App
August 2018
- NHS eRS
May 2018
- Data Processor
March 2016
- Assorted Musical Projects
June 2016
- Master's Degree, Astrophysics
July 2015