AI-Augmented Systems Architect

Tainienne
Du Plessis

I design the systems.
AI writes the code.

Senior automation architect and backend systems builder. I make architectural decisions, design data models, and direct AI tools like Claude Code to accelerate delivery — without sacrificing depth or quality.

n8n Supabase HubSpot Zoho Recruit AI-Augmented Dev Production Systems OAuth2 / JWT REST APIs PostgreSQL / RLS
46+
Live n8n
Workflows
1
CRM Platform
Built from Scratch
105
CRM Core
DB Tables
4+
Clients
Served

About

Systems thinker.
AI-augmented builder.

I'm an IT Automation & Systems Architect based in Pretoria, South Africa, operating fully remote across UK, SA and European clients. 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. Every architectural decision — the data model, the integration strategy, the security approach — is mine. The AI writes; I architect.

Over 5+ years I've progressed from IT support to building production-grade CRM platforms from scratch, running 44+ live automation workflows across multiple clients simultaneously, and architecting backend systems that handle payroll, invoicing, recruitment pipelines, and AI-driven candidate screening at scale.

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

n8n Automation
Production workflows, sub-workflows, error handling, monitoring
🗄️
Supabase / PostgreSQL
Schema design, RLS policies, edge functions, real-time
🔐
OAuth2 / JWT / Service Accounts
Secure auth for automated API access at scale
🤖
AI / LLM Integration
Claude, GPT in production pipelines — screening, scoring, generation
📞
Aircall Integration
Call tracking, transcription processing, HubSpot sync
🔗
HubSpot CRM
Deals, pipelines, task automation, bi-directional sync
📋
Zoho Recruit
Candidate management, job openings, application enrichment
🧠
AI-Augmented Dev
Claude Code, architecture direction, code review and ownership
📧
Gmail API / MIME Parsing
Ingestion, routing, recursive parsing, attachment handling
🌍
Google Workspace
Drive, Sheets, Calendar — API-level integration in workflows
🚨
Monitoring & Alerting
Slack alerts, execution monitoring, error recovery patterns
📐
System Architecture
Data modelling, API design, integration strategy, scalability

Experience

Career progression

SEP 2025 — PRESENT
Oinio GmbH
REMOTE · GERMANY
IT Operations & Automation Lead

Lead IT operations and automation across multiple business systems. Architect and deliver production-grade workflow automations, a custom-built recruitment CRM backend, and secure integrations for a distributed remote team — using AI tools to accelerate delivery without compromising on system quality.

  • Architecting and building CRM Core from scratch — a single-tenant recruitment CRM with 105 PostgreSQL tables covering contacts, pipelines, recruitment, payroll, invoicing, document management, reporting, and compliance — with RLS on every table
  • Designing and maintaining 46 live n8n automation workflows across 4 recruitment clients simultaneously, covering AI screening, AI interviewing, CRM integrations, outbound communications, and recruitment ops
  • Built the Trifector AI application enrichment engine — 3 chained Gemini LLM nodes deployed across all 4 clients — reducing recruiter review time from 30 to 10 minutes per application and tripling team capacity from 10–12 to 30–36 roles per month
  • Implemented OAuth2 and manual RSA-SHA256 JWT construction for service account authentication against the Gmail and Google APIs
  • Deliver real-time Slack alerting, error handling and execution monitoring across all production workflows
  • Using Claude Code as an AI-augmented development tool — making all architectural decisions and directing implementation to accelerate delivery
MAY 2024 — SEP 2025
Talent Shore Ltd
REMOTE · UK
IT Support Specialist → IT Operations & Automation Lead

Promoted to lead automation architect in recognition of technical ownership. Built end-to-end automation pipelines serving multiple recruitment and sales clients simultaneously, progressing from IT support to owning the full automation stack across four client systems.

  • Designed and built the Trifector AI application enrichment engine from scratch — 3 chained Gemini LLM nodes processing 100–400 applications per day, reducing recruiter review time by 67% and tripling team capacity to 30–36 roles per month — deployed across all four clients
  • Redesigned the AI prompt logic for the mehg_AI_n outbound calling bot, increasing lead generation from 3–6 per week to 25–32 per week (roughly 5× increase)
  • Developed real-time Aircall↔HubSpot integration processing call transcriptions, AI-driven sales classification, deal stage updates and follow-up scheduling with business-day logic
  • Designed secure Gmail multi-account ingestion system using Google Cloud service accounts, domain-wide delegation, manual RSA-SHA256 JWT construction, and recursive MIME parsing across 11 parallel lanes — shelved due to a business decision, not a technical failure
  • Built AI-powered CV ingestion and parsing pipelines with deduplication and automated ATS record creation
  • Managed hardware procurement, logistics and asset tracking for globally distributed teams
DEC 2020 — APR 2024
Teneo Education (Pty) Ltd
REMOTE · SOUTH AFRICA
International Support Manager

Managed a fully remote international support team, overseeing daily operations, performance tracking, and technical support for Canvas LMS and PowerSchool platforms across multiple regions.

  • Led scheduling, performance tracking and reporting for a distributed international team
  • Provided technical support for Canvas LMS and PowerSchool education platforms
  • Streamlined internal reporting processes to improve operational visibility
  • Led onboarding and training initiatives for new support staff
JUL 2019 — OCT 2020
Yohome
JOHANNESBURG · SA
Junior Architectural Visualiser

Produced high-quality 3D architectural visualisations, collaborating with design teams to translate concepts into production-ready visual assets using 3DS Max and V-Ray.

  • Created production-ready 3D visualisations for client presentations
  • Collaborated with architects and designers to realise spatial concepts

CRM Core — Built from Scratch

A full SaaS recruitment CRM platform designed and architected entirely by me. 105 database tables, Row Level Security throughout, modular recruitment/payroll/invoicing engine, and AI built into the core. Every architectural decision is mine — Claude Code handled implementation.

Architecture Overview

Single-tenant recruitment CRM built for a specific client, with the core schema living on the main branch of GitHub and client-specific configurations isolated to dedicated branches. 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.

SUPABASE POSTGRESQL 17 ROW LEVEL SECURITY EDGE FUNCTIONS SUPABASE AUTH JSONB GENERATED COLUMNS TSVECTOR / FTS GEOCODING TOKEN-BASED PUBLIC ACCESS

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

CRM Core database architecture Structural diagram showing the six module clusters of the CRM Core Supabase schema and how they relate to each other CRM Core — schema architecture Single-tenant · PostgreSQL 17 · RLS on every table CRM core contacts · companies · deals pipelines · activities · tasks tags · custom fields · lead scoring sequences · forms · notifications team inboxes · conversations · AI Recruitment candidates · jobs applications · interviews shift requests · disclaimers job postings · availability candidate scheduling Communications email/SMS templates · snippets attachments · tracked links email queue · knowledge docs integration credentials Payroll payroll runs · lines · adjustments GP approvals · booking lines timesheets · reminders generated GP columns Invoicing invoices · invoice lines fee structures · VAT payment reminders carryover sessions Security & access profiles · user roles (owner / admin / member / dev) public access tokens · token access log · audit logs branch settings · field definitions · saved reports communication settings · calendar connections

System Modules (105 tables)

CRM Core
Contacts · Companies · Deals · Pipelines · Activities · Tasks · Tags · Lead scoring · AI conversations
Communications
Team inboxes · Conversations · Email/SMS templates · Snippets · Knowledge docs · Email queue
Sequences & Forms
Multi-step automation · Enrolments · Step execution · Form builder · Submissions
Recruitment
Candidates · Jobs · Applications · Interviews · Shift requests · Booking lines · Fee structures
Candidate Scheduling
Hourly availability grid · Weekly patterns · Day blocks · Travel time cache · Calendar connections
Payroll Engine
Payroll runs · Lines · Adjustments · GP approvals · Timesheets · Carryover sessions
Invoicing
Invoices · Lines · Fee structures · Payment reminders
Document Management
Templates · Dispatches · Multi-step intake forms · E-signatures · Verifications · Bulk jobs · Version control
Reporting Engine
Entity & field definitions · Dashboards · Widgets · Saved filters · Run cache
Compliance
Candidate compliance check definitions · Check tracking
Security & Config
RLS on every table · RBAC roles · Public access tokens · Token log · Audit logs · Branch settings

Case Studies

Three systems worth explaining properly

Workflow names mean nothing without context. Here's what was actually built, why, and what changed.

CASE STUDY 01
Trifector — Zoho Application Enrichment
PRODUCTION 4 CLIENTS
n8n · Zoho Recruit · Google Drive · Gemini · Supabase
From 30 minutes per application to 10

Recruiters across four clients were manually reading every CV and application that came in — up to 400 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. 30 minutes per application. Most of that time was spent on candidates who should never have been seen.

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: the bottom 40% that don't meet the minimum standard never reach a recruiter. The rest land in a reviewed queue with everything a recruiter needs visible in 10 minutes instead of 30.

  • 30 min → 10 min per application review (67% reduction)
  • Bottom 40% of applications filtered before any human review
  • Team capacity: 10–12 roles/month → 30–36 roles/month (3× increase)
  • Deployed across all four clients: Talent Shore, Teach Now, Flexy Support, Remote Choice
  • Three chained LLM nodes — output from each feeds the next before writing back to Zoho
  • Built from scratch in 3 weeks while still learning n8n and the Zoho API
Trifector workflow screenshot
CASE STUDY 02
mehg_AI_n Bot — AI Outbound Calling
PRODUCTION CONTRIBUTION
n8n · HeyReach · HubSpot · Gemini · Supabase
3–6 leads/week to 25–32 after a prompt redesign

The mehg_AI_n 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 lead generation 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.

  • Lead generation: 3–6 per week → 25–32 per week (roughly 5× increase)
  • Change was specifically prompt redesign — not a rebuild of the underlying system
  • Deployed across Talent Shore and Remote Choice
mehg_AI_n workflow screenshot
CASE STUDY 03
Gmail Ingestion & Intelligent Routing System
NOT SHIPPED TECHNICAL DEPTH
n8n · Gmail API · Google Cloud · Service Accounts · OAuth2 / JWT
Multi-account email ingestion with AI classification and department routing

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.

  • 11 parallel ingestion lanes, each with independent JWT auth against the Gmail API
  • Manual RSA-SHA256 JWT construction — no OAuth library, built from scratch in a code node
  • Recursive MIME parser handling nested multipart email structures
  • AI classification routing to IT / Support / HR / Finance / Other team inboxes
  • Monday edge case logic to catch emails from the weekend
  • Not shipped due to a business decision, not a technical one
Gmail ingestion workflow
Gmail routing and classification workflow

Automation Portfolio

46 live workflows across 6 functional areas

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.

RECRUITMENT CLIENT A RECRUITMENT CLIENT B RECRUITMENT CLIENT C RECRUITMENT CLIENT D
AI screening & candidate enrichment 8 workflows
AI application enrichment
Production
AI application enrichment
Production
AI application enrichment
Production
AI application enrichment
Production
AI screening — rejected candidate update
Production
AI screening — rejected candidate update
Production
AI screening — rejected candidate update
Production
AI screening — approved candidate update
Production
AI interviewing 7 workflows
AI interview — trigger & setup
Production
AI interview — completion handler
Production
AI interview — completion handler
Production
Interview invitation link generation
Production
Interview invitation link generation
Production
Interview invitation link generation
Production
Interview question link generation
Production
Candidate management 9 workflows
CV source watchdog — new application processing
Production
Candidate profile generation
Production
Proactive candidate shortlisting
Production
Shortlisted view update
Production
Shortlisted view update
Production
Candidate spreadsheet sync
Production
Candidate status sync — ATS
Production
Candidate status sync — ATS
Production
Learner record updates
Production
CRM & pipeline integrations 8 workflows
Aircall↔HubSpot integration
Production
Aircall↔HubSpot integration
Production
Aircall↔HubSpot task generation
Production
HubSpot↔ATS bi-directional sync
Production
HubSpot↔ATS bi-directional sync
Production
CRM working status update — main workflow
Production
ATS record ID sync — main workflow
Production
ATS record ID sync — sub-workflow
Production
Outbound & communications 7 workflows
AI outbound calling bot
Production
AI outbound calling bot
Production
Warm lead draft email generation
Production
Warm lead tracking sheet
Production
Rejection email automation
Production
Call transcript extraction & recording link
Production
Chase email draft generation
Production
Recruitment ops & admin 7 workflows
Awaiting approval — agency placement
Production
Awaiting approval — perm placement
Production
Awaiting approval — perm & agency (manual)
Production
Awaiting approval — email notification
Production
Approved candidate — admin process
Production
Draft email generation — admin process
Production
Placement consultant list update
Production
Tainienne Du Plessis
Pretoria, South Africa
Available Remotely · Worldwide
May 2026

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 have built a full SaaS recruitment CRM from scratch — 105 Supabase 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. That schema architecture is mine. Those design decisions are mine.

Alongside the CRM, I have 46 live n8n workflows running in production across four clients simultaneously — Talent Shore, Teach Now, Flexy Support and Remote Choice. These include AI-powered CV screening pipelines, outbound AI calling bots (mehg_AI_n V4–V7 with HeyReach), real-time Aircall↔HubSpot integrations with AI-driven sales classification, and a multi-branch candidate enrichment engine I architected called Trifector. I maintain, monitor and evolve all of these systems.

I sit across one carefully architected CRM Core platform — built as a single-tenant system with a branch-per-client deployment model on GitHub. The core schema is the foundation; client-specific behaviour lives in branches. It's designed to scale without the complexity of multi-tenancy.

My background is not traditional. I started in 3D architectural visualisation, moved into international education operations, and grew into automation engineering without a formal CS degree. What I have instead is five years of building things that work in production, at scale, for real organisations. I was promoted to IT Operations & Automation Lead without asking for it — because the systems spoke for themselves.

I work remote. I work async. I deliver.

I look forward to discussing what we could build together.

Tainienne Du Plessis
IT AUTOMATION & SYSTEMS ARCHITECT · PRETORIA, SA

Get in touch + publish this to GitHub

LOCATION Pretoria, South Africa
WORK Remote · Worldwide
EMAIL tainienne.2014@gmail.com
GITHUB Tainienne074.github.io

Deploy to GitHub Pages — 5 steps

01 Create a new GitHub repo named exactly [username].github.io
02 Upload this index.html file to the root of that repo
03 Go to Settings → Pages → Source: Deploy from branch → main → / (root)
04 Wait ~60 seconds. Your portfolio is live at [username].github.io
05 Update your email, LinkedIn and GitHub username in the contact section above before uploading