Automation engineering

Internal workflow automation

Automating a recurring manual process that spanned three systems, with AI used only for the step that genuinely needed judgement.

PythonClaude APICeleryPostgreSQLn8n

The problem

Describe the manual process: who did it, how often, and how long it took.

Approach

  • The existing manual process mapped first, including the exception cases, which is where automation usually breaks.
  • The deterministic majority of the workflow automated with no model involved at all, which shrank both the problem and the running cost.
  • A single AI classification step added where a human judgement call was genuinely required, with a confidence threshold below which the item went to a review queue.
  • Every run traced end to end: inputs, tool calls, results, duration and cost.
  • Run in shadow mode, proposing, with a person approving, for an agreed period before any autonomous operation.

More work

Backend & infrastructure

Multi-tenant Laravel platform

A Laravel application serving multiple client organisations from one codebase, with per-tenant data isolation and queued background processing.

LaravelMySQLRedisHorizon +2
Server engineering

cPanel hosting fleet migration

Moving a set of cPanel accounts onto new infrastructure, websites, databases, mailboxes and DNS, with the cutover planned so downtime stayed in minutes.

WHMcPanelIMAPSyncrsync +2
AI engineering

Retrieval-grounded support assistant

A support assistant answering from the organisation's own documentation, with citations on every answer and a clean handover when confidence was low.

Claude APIPythonFastAPIpgvector +2

Something like this on your plate?

Describe the situation and I will tell you how I would approach it.

Start a conversation