Available for work — Book a 30-minute call

All work

43 systems, 16 written up in full

Automation, integration and migration work across healthcare, recruitment, photography and education. Filter by platform or by what the system actually does.

Platform
What it does
Depth

Showing all 43 projects

Thumbnail of the config publisher workflow graph, showing the validate-then-publish sequence with an error branch on every write. Designed and built

Capacity-Aware CRM Deal Routing

Capacity-aware deal routing across two CRM portals: projected workload over five working days replaces round-robin. Five workflows, 115 automated tests, shipped deliberately switched off.

Built n8nHubSpot CRM v3 APIn8n Data Tables

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of the SMS assistant graph: an inbound CRM webhook through a compliance gate to an AI agent with six attached tools, then a reply path and a Slack escalation path. Designed and built

SMS Booking Assistant for a Clinical Practice

An SMS assistant that books, reschedules and cancels clinical appointments, where the language model has no authority at all. Its write-tools are physically disconnected from the workflow graph.

Live n8n (self-hosted)OpenAIPinecone

A regional Australian massage and lymphatic therapy clinic

Built and shipped

Legacy CRM Migration: 178 Automations, No Export API

A decade of legacy CRM automation migrated out of a platform with no automation export API. 135 automations captured by hand-built tooling, analysed individually, then consolidated into templates.

In progress Keap/Infusionsoft (source)a GoHighLevel white-label platform (target)JavaScript capture tooling

A UK portrait photography studio

Thumbnail of the intake workflow graph: a Typeform trigger, a mapping node, and one POST to the intake endpoint. Designed and built

Security-Hardened Form-to-Database Intake

A form-to-database pipeline for children's special-category data, rebuilt after an independent review returned 'do not activate as designed'. Proven end to end, and still switched off, pending a DPIA.

Built Typeformn8n CloudPostgres (Drizzle schema + SECURITY DEFINER function)

A children's AI-education startup

Thumbnail of the weekly win-back workflow graph: eight sheet reads, an AI screening step, and three logged output paths. Designed and built

Clinical-Safe Win-Back Campaign Engine

A weekly engine that decides which lapsed patients to re-engage, and more importantly who must never be contacted. Nineteen rules, most of them suppression rules, with a human approval gate.

Live Python (pandaspytest)n8n

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the weekly revenue reporting graph: a scheduled fan-out over centres, nested loops over tasks and invoices, and a Google Sheet plus emailed HTML dashboard at the end. Built and shipped

Weekly Practitioner Revenue Reporting

Weekly per-practitioner revenue reporting for two clinics on different platforms. The defining problem: a figure that came back roughly double the client's, because taking a payment updates the invoice.

Live n8npractice-management APIsGoogle Sheets

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of a repointed appointment-sync workflow: triggers and a filter feeding a loop that searches the CRM twice before updating or skipping each contact. Built and shipped

CRM Account Ownership Migration

Moving a healthcare business's whole marketing stack out of an agency-controlled sub-account. The audit reduced an apparent 141-automation rebuild to the ~33 that were actually live.

In progress GoHighLevel API v2n8nPowerShell

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the knowledge base's ask workflow: token check, embedding, concept and document matching, then the answer. Designed and built

Retrieval-Augmented Knowledge Base for Business Decisions

A vector knowledge base so an AI answers strategy questions from a specific library rather than generically. The relevance floor is set from measured similarity distributions, so weak coverage returns an honest non-answer.

Live Supabase (Postgres + pgvector)OpenAI embeddingsn8n

A children's AI-education startup

Thumbnail of the appointment sync graph, showing a polling path with batched CRM upserts above and a webhook path with OK and Error responses below. Built and maintained

Clinical Booking ↔ CRM Synchronisation

Production sync between two clinical practice-management systems and a CRM, so sales can see whether a lead booked, attended or cancelled. Nine workflows across two very different vendor APIs.

Live n8nHubSpot CRM v3 APItwo practice-management APIs

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of the NPS score parser graph: a CRM webhook, a parse step, and a branch that writes the score back or falls through, both paths answering the CRM. Built and maintained

Automated NPS & Review-Routing System

Surveys patients at a visit milestone, parses free-text replies into a score, and routes promoters to a public review and everyone else to a human. A live mis-routing incident traced to two systems.

Live n8n (self-hosted)Cliniko APIGoHighLevel

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the recruitment screening graph: a lead webhook, normalisation, geocoding and screening, then a router splitting into three outcome branches. Designed and built

Recruitment Screening & Placement Automation

A CRM-and-automation loop that screens paid-social applicants in near real time (geocoding, distance to depot, right-to-work and qualification screening, LLM-drafted copy), then lets the CRM do the messaging.

Live GoHighLeveln8nMeta lead ads

A recruitment business hiring for depot-based operational roles

Thumbnail of the migration schema stage graph: two rows of API reads and creates ending in a stage report. Built and shipped

HubSpot Portal-to-Portal Migration

A full move from one HubSpot account to another, scripted through the HubSpot API: 2,878 contacts, 65 custom fields, tickets and 6,433 activity records with zero errors, then a freeze-window cutover with catch-up loads.

Built n8nHubSpot CRM v3 APIPowerShell

An automation agency, delivering to an Australian allied-health / NDIS provider

Thumbnail of the generation graph: a wide chain of sixty nodes running from a chat trigger through transcription and drafting agents to an approval loop. Designed and built

Multi-Agent Content Generation Pipeline

For a writer with a paid newsletter: ideas arrive over WhatsApp, research and drafts draw on her own past writing through a vector store, and seven agents check her finished article and draft its SEO and paywall copy.

Built n8nAirtableSupabase (pgvector)

A UK business running an editorial and newsletter operation alongside its main service

Thumbnail of four stacked n8n workflows making up the estimating and vendor outreach process. Designed and built

Estimating & Vendor Outreach AI

Gemini reads plant schedules off drawing screenshots (OCR) into the bid sheet, and quote requests are drafted one per vendor. Estimated saving: about six estimator hours a day.

Built n8nGeminiPipedrive

A US commercial landscaping subcontractor

Built and shipped

Post-Bid Follow-Up in the CRM

Bid follow-up built from ten chained Pipedrive automations, because the plan allowed five conditions and ten actions each. It ran on real deals; an n8n timer was added to start it on the bid date.

Built Pipedrive automationsPipedrive webhooksn8n

A US commercial landscaping subcontractor

Designed and built

Clinic Inbox Email Assistant

Sorts a clinic's shared inbox: system mail filed by rule, routine questions drafted from the clinic's knowledge base, anything medical or contentious sent to the owner in Slack.

Built n8nMicrosoft Outlook (Graph API)OpenAI

A regional Australian massage & lymphatic therapy clinic

Thumbnail of the drip sequence: alternating wait steps and numbered activation emails. Built and shipped

5x Email Upsell

REVENUE_X5_SEQ

Customers acquiring front-end products but ignoring high-ticket offers.

Live

Personal build

Thumbnail of the Messenger assistant graph: a verification webhook, a message path through an AI agent with a vector store tool, and a separate PDF ingestion branch. Built and shipped

AI Agent for Facebook

META_NEURAL_AGENT

High volume of repetitive FAQs lowering response rate.

Live n8nGemini ProMessenger

Personal build

Thumbnail of the Gmail attachment sorter: watch mail, iterate attachments, classify, file to Drive, log, reply. Built and shipped

Auto-Sort Gmail Attachments

DRIVE_SORTER_BOT

Incoming files disorganized with generic names, requiring manual retrieval.

Live GmailGoogle Drive

Personal build

Thumbnail of the Asana to Xero scenario: a router splitting into a sheet-append branch and an aggregate-and-attach branch. Built and shipped

Automated Transaction Export

FINANCE_BRIDGE_XERO

Xero API limits prevented direct report downloads, forcing manual CSV exports.

Live XeroAsana

Personal build

Built and shipped

Automation Email for Leads

AUTORESPONDER_NODE

Manual onboarding latency. Delayed welcome packets for approved leads.

Live Asana

Personal build

Thumbnail of the find-alternatives workflow: a wide graph running from a CRM webhook through scraping and scoring to dossier creation and an approval task. Built and shipped

Candidate Dossier & B2B Outreach Engine

Turns a candidate with no matching vacancy into a B2B lead source: scrapes and filters nearby employers, scores them by fit and distance, drafts outreach, and seeds a company pipeline with an approval task.

Live n8nGoHighLevelApify

A recruitment business hiring for depot-based operational roles

Thumbnail of the content repurposing Zap: watch a Drive folder, transcribe, draft, then fan out to three publishing paths. Built and shipped

Content Repurposing

OMNI_POST_V1

Manual creation bottleneck. Transcribing audio and drafting social posts consumes 10+ hours per week.

Live

Personal build

Thumbnail of the review-routing workflow graph, showing the detractor branch that alerts a human on a low score. Contributed to

Course Booking & Payments Platform

A public site and booking platform for a new education business: cohort bookings, payment, waitlist, an admin CMS, and the policy content a business working with children needs.

Live ReplitTypeScript monorepoExpress API

A children's AI-education startup

Built and shipped

CRM Build-Out & Contact Import

Three contact sets prepared, deduplicated and imported into a new CRM with rollback tags on every import, records lacking required fields held back rather than imported dirty, and a referral pipeline designed.

Live GoHighLevelCSV/Excel preparation

A children's AI-education startup

Thumbnail of the daily call report: a scheduled fetch, a wait, two paged requests, two aggregation steps, then a message. Built and shipped

Daily Call-Performance Reporting

Daily phone-performance scorecard built on an asynchronous stats-export API, with a capped polling loop and a single explicit alert email instead of a misleading zero-value report.

Live n8n CloudDialpad stats-export APIGmail

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of the daily clinic dashboard: three triggers into a per-centre loop that fetches appointments and either mails a dashboard or skips. Built and shipped

Daily Clinic Operations Dashboards

Twice-daily HTML email dashboards giving clinic teams a morning preview and an evening recap of bookings, arrivals, cancellations and no-shows, with practitioner load.

Live n8n CloudSplose APIZenoti API

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of the onboarding Zap: a paid Shopify order splitting into a VIP path and a standard-access path. Built and shipped

Intelligent Onboarding

VIP_ACQUISITION_PROTOCOL

"Whale" clients receiving robotic emails. Missed relationship-building opportunities.

Live

Personal build

Thumbnail of the daily reminder: a scheduled weekday path reading a roster and sending Slack direct messages. Built one half, maintained the other

Internal Team Operations Suite

The agency's own operations: a Slack-to-AI project intake that creates monday.com projects, weekly KPI reports with a chase sequence, invoice reminders, and Slack leave requests with manager approval.

Live n8n CloudSlackMonday.com

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of the lead centralisation scenario: form responses to a sheet, then a Slack alert. Built and shipped

Lead Centralization

INBOUND_INTEL_FEED

Critical lead data scattered across email threads and disparate form tools.

Live Google SheetsSlack

Personal build

Thumbnail of the lead enrichment Zap: capture, enrich, then split into a high-priority and a low-priority path. Built and shipped

Leads Enrichment

LEAD_INTEL_PRO

Sales team flying blind with raw data. Missed opportunities with high-value prospects.

Live SlackSQL

Personal build

Built and shipped

New-Patient Preparation Emails

A first lymphatic booking flows from the booking system into the CRM, is checked against six treatment types, and triggers preparation emails the owner wrote on the agency's template.

Live AppyPie ConnectGoHighLevelCliniko

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the orphaned-call workflow: three triggers into a chain that filters unlinked calls and either associates or creates a contact. Built and maintained

Orphaned Inbound Call Capture

Paired workflows that catch inbound calls from numbers with no matching CRM contact and create the record, so a genuine enquiry cannot leak out of the funnel unnoticed.

Live n8n CloudDialpadHubSpot

An automation agency, delivering to an Australian aesthetics clinic group and an allied-health / NDIS provider

Thumbnail of the campaign booking sync graph: a cursor-driven booking fetch, an email-then-phone CRM match, and a rules router fanning out to tag writes, a Slack notification and an orphan-contact branch. Built and maintained

Paid-Ads Lead-to-Booking Attribution

Joins ad-platform leads to actual bookings, which nothing else did: the ad platform sees the lead, the practice system sees the booking. Plus a daily LLM-narrated performance report.

Live n8nCliniko APIGoHighLevel

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the delivery automation: an Asana trigger fanning into five stage paths, one of which splits again into three. Built and shipped

Product Delivery Automation

FULFILLMENT_GATEWAY

Manual email sending of digital products leading to access complaints.

Live

Personal build

Thumbnail of the reel generator: prompt generation, a JWT token exchange, a generate-wait-poll loop, then upload to YouTube. Built and shipped

Social Media Reel Generator

GENERATIVE_REEL_V2

Manual daily ASMR content creation was resource-heavy and inconsistent.

Live Veo3n8n

Personal build

Thumbnail of the weather bot: quote generation and de-duplication, a weather lookup, image composition, then a Facebook post. Built and shipped

Weather Update Bot

GENERATIVE_REEL_V3

Manually checking and posting daily localized weather updates was inefficient.

Live OpenWeather API

Personal build

Built and shipped

Weekly Drip Emails

NURTURE_LOOP_WEEKLY

List churn high due to inconsistent client communication nodes.

Live

Personal build

Thumbnail of the GoHighLevel screening workflow with qualified and declined branches. Designed and built

Applicant Screening for a VA Agency

A form feeds n8n, which routes applicants by role, checks each role's qualifiers and creates them in the CRM with tags; a screening workflow passes the qualified and declines the rest.

Built Google Formsn8nGoHighLevel

A virtual-assistant agency

Built and shipped

Booking Calendar Consolidation

44 drifted booking links read directly from the live legacy system and collapsed to 6 calendars, verified by counting rather than by recollection.

Built AppointmentCoreGoHighLevel calendars

A UK portrait photography studio

Designed and built

Customer-360 Operations Dashboard

An internal Customer-360 dashboard unifying CRM conversations and practice-management appointments into one event log, with signed webhooks and incremental polling for the system that has none.

Built Next.js + TypeScriptReact server componentsPrisma

A regional Australian massage and lymphatic therapy clinic

Thumbnail of the recall campaign: a wide branching tree of conditional paths in the GoHighLevel workflow builder. Built and shipped

Patient Recall & Rebooking System

A corrected recall campaign: bucketing moved onto the last attended visit rather than the next booking, with a data-quality exit so no contact can loop and a marketing stamp written only after a successful send.

Built GoHighLeveln8nCliniko API

A regional Australian massage and lymphatic therapy clinic

Built and shipped

Payment-Collection Migration

Replaced a 30-attempt legacy autocharge ladder with a simple day-0/3/10 dunning sequence, after five live capability checks proved the target platform could do it natively, taking middleware off the critical path.

Built KeapGoHighLevel paymentsStripe

A UK portrait photography studio

On numbers: Every figure on this page is an artefact count or a measured technical value. No business-outcome metric, whether time saved, revenue or conversion, was captured on these engagements, so none is claimed.

On status: Status reflects repository evidence and platform backups, not a live systems check.