Skip to content
Actively looking for senior developer / technical lead roles · Remote or hybrid in the Midlands

Senior engineer,
built for outcomes.

Project Lead on a core Sort Group revenue platform.

Fifteen years running my own software business shaped how I think about delivery: quality and delivery aren't competing values, they're the same engineering discipline. I build secure, maintainable systems designed for real users, real deadlines and real business constraints.

About

Twenty years of commercial software, written by someone who understands business.

Project Lead on a core legacy PHP platform supporting key Sort Group revenue workflows. Promoted from senior developer into the lead role on the system used by brokers, agents and law firms across the UK to run conveyancing and mortgage work. Modernising it in place: biometric ID for solicitors, client onboarding messaging, multi-tenant data isolation, identity verification.

I have spent the last two years applying AI pragmatically inside engineering workflows. Rather than chasing demos, I have focused on areas where AI can reduce friction without replacing engineering judgement: pull request review, dependency maintenance, and document-heavy legal workflows.

That work has produced internal tooling around AI-assisted PR review, dependency patch preparation and document analysis. The common theme is human-in-the-loop automation tools that surface issues earlier, reduce repetitive work and give engineers better starting points:

  • AI-assisted PR review pipeline integrated into CI to surface potential issues before or during human review.
  • Dependency patching workflow investigates audit failures, tests upgrades where possible and prepares reviewable patch PRs.
  • Document analysis tooling being developed for legal, identity and conveyancing document workflows.

Outside the day job, I volunteer at a community steam museum which is one of the finest examples of a working victorian pumping station in the UK, which keeps me close to engineering history and the practical consequences of technological change.

I started writing software professionally in 2004 building enterprise applications in .NET and PHP for NHS Trusts and large public sector organisations at Warwick International, the UK's market leader in occupational health software at the time. The data modelling lessons from those Oracle and Sybase backends still inform how I think today.

Fifteen years of independent practice followed bespoke web applications, consultancy, and technical leadership for SMEs across credit, finance, events, e-commerce, and hospitality. Built entirely on referrals; the work spoke for itself.

Selected Work

Selected projects, chosen for commercial and technical relevance.

Project Lead on a core revenue-generating Sort Group platform, plus adjacent work on identity verification, client onboarding and delivery infrastructure.

Core platform · 2022 — present

Modernising a core legacy PHP platform supporting Sort Group revenue workflows

Project Lead on a core legacy PHP platform used daily by brokers, agents and law firms across the UK to run conveyancing and mortgage brokerage workflows — a platform central to day-to-day Sort Group revenue activity. Promoted from senior developer into the lead role. Modernisation is delivered incrementally because the platform must remain available throughout: identity verification task trees, tenant-aware data isolation, PDF generation services, developer-environment guard systems, containerisation of adjacent services.

Role
Project Lead
Stack
PHP · Vue 3 · NestJS
Scope
Core platform
  • Project Lead on a core revenue-generating platform
  • Incremental modernisation while the platform remains available throughout
  • Tenant-aware data isolation across key queries, APIs and generated documents
PHPVue 3NestJSTypeORMPostgreSQLDocker

Identity & compliance · 2023 — 2024

Biometric identity verification, integrated into the solicitor portal

Designed and integrated biometric and document-based identity verification into the conveyancing portal used by UK solicitors. Designed to let solicitors run KYC and identity checks inside the workflow rather than relying on separate tools — single audit trail, less context switching. Integrated mobile eMRTD passport scanning flows based on ICAO 9303 concepts, including BAC/PACE support, chip authentication and passive authentication. Verified results feed back to the portal where solicitors review and sign off.

Surface
Portal + mobile
Standard
ICAO 9303
Users
UK solicitors
  • Single workflow for KYC and document-based identity inside the portal
  • NFC passport chip reading support across iOS and Android
  • Workflow designed to support solicitor audit and compliance requirements
Vue 3NestJSFlutterICAO 9303BACPACE

Onboarding · 2023

Real-time messaging across the client onboarding lifecycle

Added in-platform messaging to the client onboarding system so solicitors and clients can communicate inside the workflow rather than across disconnected emails. Reduces reliance on disconnected email threads with a structured channel that leaves an audit trail, keeps context attached to the case, and removes the time tax of switching tools. The kind of feature that's invisible when it works and obvious when it doesn't.

Surface
Portal + client side
Pattern
In-context messaging
Audit
Case-attached
  • Reduces context-switching between portal and email
  • Audit trail attached to the case, not buried in inboxes
  • Supports faster client response loops and clearer case history
Vue 3TypeScriptNestJSWebSocketsPostgreSQL

DevOps · 2023 — present

Self-hosted CI/CD for mobile releases

Built and maintain self-hosted CI/CD workflows for mobile releases. Automated release workflows for iOS and Android builds — code-signing, provisioning profile management, export compliance and store submission, all automated through Fastlane on a self-hosted Mac runner. Resolved deep iOS code-signing and entitlement issues — NFC entitlements, push notifications, Apple Distribution certificate chains — that had previously blocked automated export.

Runner
Mac · self-hosted
Targets
App Store Connect · Google Play
Cadence
Frequent releases
  • Automated release workflows for iOS and Android builds
  • Automated entitlement, code-signing and export compliance handling
  • Reduced release blockers caused by local build and signing differences
Bitbucket PipelinesFastlanematchXcodeGradle
Practical AI tooling

AI tooling for real engineering workflows.

Two years building practical AI-assisted tools inside an 11-person development environment, focused on review, dependency maintenance and document-heavy workflows.

Each tool is designed around human review, clear auditability and practical workflow value.

01

AI-assisted PR review pipeline

Integrated into CI to trigger automated review passes on pull requests. Surfaces potential logic issues, missed edge cases, security concerns and inconsistencies with the codebase's conventions, presented as inline review comments alongside human reviewers — helping reviewers focus more on architecture, intent and higher-risk changes.

Integrated into CI · supports PR review

  • Integrated with the team's PR review workflow
  • Helps reviewers focus more on architecture, intent and higher-risk changes
  • Potential issues surfaced earlier in the review process
LLM-driven review Bitbucket Pipelines Custom CI
02

Dependency patching workflow

When a dependency audit flags a vulnerability, the workflow investigates the proposed patch, tests the upgrade where possible and — where it looks safe — prepares a reviewable PR with a written rationale for the human reviewer. Designed to speed up the first response to dependency vulnerabilities and reduce repetitive dependency maintenance work.

Internal workflow · prepares reviewable PRs

  • Speeds up the first response to dependency vulnerabilities by preparing reviewable patch PRs
  • Test-aware preparation helps avoid reckless auto-merges
  • Reduces repetitive dependency maintenance work
LLM analysis Custom CI Test-aware preparation Auto PR
03

Document analysis tooling

Sort Group works with high volumes of legal, identity and conveyancing documents — contracts, identity documents, statements, deeds. I'm building tooling to extract structured signals from those documents and support human review, exploring extraction, validation support and review assistance against the specifics of UK conveyancing and KYC workflows.

In development · focused on document-heavy workflows

  • Being developed specifically for legal, identity and conveyancing document workflows
  • Designed to extract structured signals and support human review
  • Exploring extraction, validation support and review assistance
LLM extraction Structured output PII handling
Stack

The toolkit, organised by where each tool earns its place.

Twenty years of working software is twenty years of accumulated tools. These are the ones I reach for first.

AI & Automation

Recent applied work

  • OpenAI integration
  • ElevenLabs TTS
  • Agent orchestration
  • Human-in-the-loop
  • Research pipelines
  • Local automation

Mobile & Cross-Platform

Cross-platform mobile delivery

  • Flutter / Dart
  • iOS (Swift)
  • Android (Kotlin)
  • Match
  • Fastlane
  • NFC / eMRTD

Frontend

Vue-first, framework-fluent

  • Vue 3 / TypeScript
  • PrimeVue 4
  • Tailwind CSS
  • NextJS
  • REST APIs
  • Pinia

Backend & Data

From NestJS today back to Sybase yesterday

  • NestJS / TypeORM
  • Node.js / TypeScript
  • PostgreSQL
  • Redis
  • AWS S3
  • Swagger / Jest

DevOps & Infrastructure

Release automation and deployment support

  • Bitbucket Pipelines
  • Docker / Linux
  • AWS (EC2, S3, RDS, CloudFront)
  • Google Cloud
  • Self-hosted runners
  • Mac build host
  • Nginx
  • Build automation

Methodologies & Leadership

How a team gets faster, not just busier

  • Technical leadership
  • Architecture decisions
  • Sprint delivery
  • Code review discipline
  • Multi-tenant SaaS
  • Legacy modernisation
Experience

Three roles, two decades, one consistent story.

Less a career and more a continuous practice — each role widening the surface area of what I can take responsibility for.

2022 — Present

Sort Group Limited

Derby

Senior Software Developer & Project Lead

Technology platform delivering mortgage brokerage and conveyancing services to brokers, agents, and law firms across the UK. Promoted to Project Lead within the 11-strong development team.

  • Led architecture and development of a white-label Flutter onboarding application — multi-tenant by design, with a single CI/CD pipeline.
  • Integrated ICAO 9303 eMRTD passport scanning flows, including BAC/PACE support and authentication workflows across iOS and Android.
  • Built and maintain self-hosted Bitbucket Pipelines workflows on a Mac runner — automated release flows for App Store Connect and Google Play.
  • Delivered Vue 3 / TypeScript portal features and NestJS / TypeORM backend services with tenant-aware data isolation across key paths.
  • Helped introduce stronger code review standards, sprint practices and technical documentation habits across the team.

2007 — 2022

Self-employed

Derby

Freelance Software Developer & Technical Consultant

Built a successful independent practice growing entirely by referral, delivering bespoke software across credit & finance, events management, e-commerce, and hospitality. Sole developer and client-facing technical lead on most engagements.

  • Designed and built full-stack web applications in PHP (Laravel, CakePHP), JavaScript, SQL, and REST.
  • Delivered consultancy engagements that streamlined and automated SME business processes.
  • Built booking platforms, e-commerce sites, CRM integrations, and reporting dashboards on AWS and Google Cloud.
  • Managed every phase end-to-end: requirements, architecture, build, test, deploy, support.

2004 — 2007

Warwick International Computer Systems

Derby

Software Developer

UK market leader in health & safety and occupational health software, with major clients including NHS Trusts and large public sector organisations.

  • Built data-driven enterprise applications in .NET, Visual Basic, JavaScript, and PHP against Oracle, Sybase, and MS SQL Server.
  • Gained foundational expertise in large-scale relational data modelling and regulated healthcare software environments.
  • Contributed across the full SDLC — requirements analysis through deployment and client support.
Beyond Code

The bits that aren't on a typical CV but probably should be.

Software is what I'm paid for. These are some of the things that make me good at it.

Workshop

Robotics & process control

Personal projects in embedded systems and process automation — custom robot arm design and control, stepper motor systems, Raspberry Pi-based control rigs, and the integration of hardware and software into closed-loop systems. The same instincts that catch a race condition in a CI pipeline turn out to be useful when commissioning a sensor loop.

EmbeddedStepper controlRaspberry PiClosed-loop

Volunteer engineer

Claymills Victorian Pumping Station

Volunteer at Claymills, one of the UK's finest surviving examples of Victorian municipal engineering. Volunteer work around operational steam engines, Lancashire boilers and associated plant, supporting restoration, maintenance and interpretation alongside experienced volunteers.

Steam enginesLancashire boilersRestoration

Side practice

Property portfolio

Active landlord managing a mixed residential and commercial buy-to-let portfolio — Section 24 compliance, MTD tax reporting, tenant management. A useful counterweight to software work: physical assets, long time horizons, no rebase available.

Buy-to-letSection 24MTD
Contact

Let's talk about what you're building.

I'm actively looking for senior software developer, technical lead, and platform engineering roles — particularly where AI tooling, regulated systems, legacy modernisation, or CI/CD delivery are part of the work.

Connect on LinkedIn
Location
Derby, Derbyshire
Working
Remote · Hybrid (Midlands)
Notice
Available on request
Response
Usually within one working day

Send a message

No email or phone published on this site by design — direct contact details shared on request once we've connected.