Starting in September 2020, I'll be transitioning to freelance software development work through my own business, Spirited Machine!
I'll be bringing the experience and knowledge gained during over five years of varied commercial software development
at companies inlcuding a bespoke software development house, a household name online estate agent
and progressive tech startups to offer best practice software engineering services to businesses of all sizes.
To see all of my past commercial experience, please
see my LinkedIn profile.
To find out more about what I'll be offering in my freelance endeavours, or to get in touch regarding
software development needs, please
visit the Spirited Machine website.
I’ve been using Azure DevOps Pipelines (formerly Builds & Releases)
for continuous integration and continuous deployment for around eighteen
months. Overall, I’ve found it really good to work with (especially given
that it’s freely available for open source projects -
see Azure DevOps Services pricing).
One Pipelines feature that we found ourselves wanting at GivePenny was the
ability to see which pipelines are broken at a glance.
Initially, we used Dashboards in Azure DevOps to achieve this. The
downside to this approach was that new panels had to be added to the
dashboard for each new microservice we created.
To solve this issue, I developed a Pipeline Monitoring solution using
Azure DevOps REST API.
The Pipeline Monitoring solution is a simple SPA that accepts an Azure
DevOps Organisation, Project and PAT token, and displays (by default) the
broken and in progress pipelines.
Although Blazor WebAssembly is not yet production ready, we've been using
the Pipeline Monitoring solution internally at GivePenny for a number of
Pipeline Monitoring site
open source on GitHub, and is being continually deployed to Google Firebase (hosted as a
static site) using an Azure DevOps Pipeline.
In February of this year Purplebricks held its first hackathon.
The hackathon's theme was innovation, and it ran over the course of twelve
hours, 9:00 to 21:00.
My team's submission was a property search chat bot, built using
Microsoft's Azure Bot Service and the LUIS (Language Understanding
Intelligent Service) cognitive service for natural language understanding.
The bot interfaced with the existing Purplebricks Property Search API,
gleaming filters from the user's input. For example the phrase "I'm
looking to rent a flat in Solihull" would search for a property of type
"flat", in the location "Solihull" and show only properties to let.
The day was a really interesting view into working in a different way and
collaborating in a very fast paced environment. When the day wrapped up we
felt a real sense of achievement about what we'd managed to build in such
a short amount of time, and it was great to see each of the teams'
For more information on the implementation of the chat bot, please see my
on our submission.