IT Executive · Automation & Backend Systems
I design the systems.
AI writes the code.
IT Executive building production automation and backend systems. I make the design decisions — data models, integration approach, security boundaries — and direct AI tools like Claude Code to accelerate delivery, without sacrificing depth or quality.
About
I'm an IT Executive based in Pretoria, South Africa, working fully remote for a remote-first recruitment organisation. My work sits at the intersection of system design, workflow automation, and backend engineering — with AI tools as force multipliers, not substitutes for thinking.
I use Claude Code and other AI tools to accelerate delivery. I read and understand the code they produce. On the systems I build, the design decisions — the data model, the integration strategy, the security approach — are mine. The AI writes; I direct.
Over the past five years I've moved from IT support into building production automation and backend systems — currently running 46 live n8n workflows across four recruitment clients, and developing a modular recruitment CRM backend covering payroll, invoicing, recruitment pipelines and AI-driven candidate screening.
Over time I've taken on increasing ownership — not just of individual workflows, but of the systems they connect, the data models they depend on, and the architectural decisions that make them maintainable long-term.
Approach
AI tools like Claude Code let me move faster without cutting corners. I direct the implementation, review what comes back, and take full ownership of the result.
The systems I build are maintainable because the decisions behind them are deliberate — not because the code was written quickly.
My background is non-traditional, and I think that's an asset. I came into this through problem-solving, not a syllabus — and that shows in how I approach every system I work on.
Core Skills
Experience
Lead IT operations and automation across multiple business systems — production workflow automations, secure integrations, and an in-development recruitment CRM backend — using AI tools to accelerate delivery without compromising on system quality.
Promoted to IT Executive in May 2025 and moved into automation. Progressed from front-line IT support to building and owning automation pipelines across four recruitment client systems.
Provided Tier 2 IT support for staff and students — including hands-on Canvas LMS support, oversight of two Tier 1 agents, and setup of the Zoom Phone VoIP system.
Produced high-quality 3D architectural visualisations, collaborating with design teams to translate concepts into production-ready visual assets using 3DS Max and V-Ray.
Flagship Project
A modular recruitment CRM platform I'm building on Supabase / PostgreSQL — 130+ tables, Row Level Security throughout, a modular recruitment/payroll/invoicing engine, and AI built into the core. I proposed the architecture and own the build; Claude Code handles implementation under my direction. Currently in development ahead of first client go-live.
Architecture Overview
A recruitment CRM designed for isolated per-client deployment — a shared core schema on the main branch with client-specific configuration in dedicated branches, each client on its own instance. Contacts, companies, deals, pipelines, sequences, forms, lead scoring, AI conversations, team inboxes, and a complete recruitment module covering candidates, jobs, applications, interviews, shift scheduling, timesheets, payroll and invoicing — all in a single coherent Postgres schema with RLS on every table.
Key Design Decisions
RLS on every single table
Row-level security enforced at the DB layer, not the app layer — access control is guaranteed regardless of frontend bugs or misconfiguration
Polymorphic association pattern
from_type/from_id allows any entity to link to any other — contacts, companies, deals share a single flexible association table
Token-based public access
Shift invites, timesheets, AI interviews, client portals — all served securely via signed tokens without exposing auth
GP auto-calculation with generated columns
line_total_charge, line_total_pay and gross_profit computed at DB level — always accurate, no app-layer drift
Schema architecture
System Modules (130+ tables)
Case Studies
Workflow names mean nothing without context. Here's what was actually built, why, and what changed.
Recruiters across four clients were manually reading every CV and application that came in — hundreds a day. There was no filtering, no scoring, no summary. A recruiter would open an application, read the CV, cross-reference it against the job description, make a judgement call, update the record, and move the stage. A lot of that time was spent on candidates who should never have reached a recruiter.
I designed and built a three-stage AI pipeline to sit in front of that process. The workflow triggers on new applications in Zoho Recruit, retrieves the CV from Google Drive, handles file conversion if needed, then passes the document through three chained Gemini LLM nodes — each feeding into the next. The first node extracts and summarises the CV. The second extracts structured information from the application. The third rates the application against the specific job description and generates reasoning for its score.
The workflow writes all of this back to the application record in Zoho — the CV summary, skills extracted, application rating, and the reasoning behind it. It then routes the application to the appropriate stage automatically: applications that don't meet the minimum standard are filtered out before any human review, and the rest land in a reviewed queue with everything a recruiter needs surfaced up front.
The outbound AI calling bot was an existing system when I came to work on it. The infrastructure was in place — HeyReach triggering the workflow, Gemini handling conversation logic, HubSpot receiving the outcomes. The system was running but response quality was low. I was not responsible for the original build.
What I identified was that the AI message responses were generic — the prompt design wasn't giving the model enough context about who it was talking to or what a qualified response looked like. I redesigned the prompts for the conversation response nodes, giving the model clearer persona framing, better qualification criteria, and more specific instructions for how to handle different response types from leads.
The workflow itself handles a significant amount of branching — different response paths depending on whether a connection is new, whether a conversation is already in progress, deal stage conditions in HubSpot, and various follow-up actions. My change was surgical: the prompt logic, not the plumbing.
The problem was straightforward: client and candidate emails were landing in individual staff inboxes and getting missed. There was no central visibility, no routing, no way to ensure the right team saw the right message. The goal was to ingest emails from multiple staff accounts and forward them to the appropriate team inbox automatically — without requiring staff to change how they worked.
The technical constraint was the interesting part. Google's standard OAuth2 flow requires each user to individually authorise access. For 11+ staff accounts, that's not practical in an automated system. The solution was Google Workspace domain-wide delegation — a Google Cloud service account granted authority to impersonate any user in the domain. I wrote custom JWT construction code in n8n: building the header and claim set, signing with RSA-SHA256 using the service account private key, exchanging for a short-lived bearer token, then querying each user's inbox as them.
The ingestion workflow runs 11 parallel lanes — one per staff account — each generating its own token, fetching unread emails since the previous run (with a Monday edge case to catch Friday's emails), decoding the Base64 MIME body recursively to handle nested multipart structures, deduplicating, and forwarding to the classification engine. The routing workflow receives each email via webhook, runs AI classification to determine department (IT/Support/HR/Finance/Other), retrieves the correct team signature, constructs a raw RFC 2822 formatted email, sends it via the Gmail API impersonating the original recipient, and marks the source email as read.
This system was not moved to production. The decision was made at a business level — not because the system didn't work. The build demonstrates domain-wide delegation, manual JWT cryptography in a code node, recursive MIME parsing, and a parallel multi-account ingestion pattern that I haven't seen documented anywhere in the n8n community.
Automation Portfolio
All published. All running in production. Grouped by function — no client names.
Flagship Automation System
Trifector — AI Application Enrichment Engine
Multi-branch candidate enrichment pipeline architected and deployed across all four client systems. Integrates ATS, Google Drive and AI document analysis to automate candidate scoring, CV parsing, and application status updates in real time.
Cover Letter
To the Hiring Team,
I want to be upfront about something that might seem unusual: I use AI to write code. I want to explain what that actually means, because it is the most important thing to understand about how I work.
I am an AI-augmented developer. I make the architectural decisions — the data model, the integration strategy, the security design, the system boundaries. I use tools like Claude Code to implement those decisions faster than I could alone. I read and understand every line that comes back, and I take full ownership of the output.
The evidence is in this portfolio. I'm building a modular recruitment CRM platform on Supabase — 130+ tables with RLS on every one, covering contacts, companies, deals, recruitment pipelines, payroll, invoicing, AI interviews, geolocation, token-based public access, and a complete communication layer. I proposed the architecture and own the build; it's currently in development ahead of first client go-live.
Alongside the CRM, I have 46 live n8n workflows running in production across four recruitment clients. These include AI-powered CV screening pipelines, an outbound AI calling bot, real-time Aircall↔HubSpot integrations with AI-driven sales classification, and a multi-instance candidate enrichment engine I led (originally “Trifector”, now the Zoho Application Enrichment workflow). I maintain, monitor and evolve all of these systems.
At the centre of this is one carefully architected CRM Core platform — designed for per-client deployment, with a shared core schema and client-specific behaviour isolated per instance. It's built to scale without the complexity of multi-tenancy, and is currently in active development.
My background is not traditional. I started in 3D architectural visualisation, moved into education support and operations, and grew into automation and backend engineering without a formal CS degree. What I have instead is a track record of building things that work in production, for real organisations. I was promoted to IT Executive on the strength of the systems I delivered.
I work remote. I work async. I deliver.
I look forward to discussing what we could build together.
Contact