RT Regis Tembachako
Email me

AI systems engineer · Cape Town, ZA · 8 years

Fourteen verticals.
One codebase.
One engineer.

I'm Regis Tembachako. I ship LLM features into production — not prototypes — and I architected, built and still run Easy Apply, a 14-vertical platform, solo. Seven AI and automation systems run on it today: structured-output pipelines, multi-agent orchestration over MCP, AI moderation, and the spend caps and fallbacks that keep all of it from breaking or overbilling.

Anthropic ClaudeGemini / Vertex AI Agentic systemsMCP PythonPHP 8.xSymfony 7 n8nFlutter Magento 2 / Adobe Commerce
Cape Town, South Africa Open to relocation — UK Skilled Worker, AU 482, NZ AEWV Remote and contract welcome
8+
Years
shipping
7
AI systems
in production
14
Platform verticals
live
7
Adobe Commerce
certifications

The work · Easy Apply

One Symfony backend, fourteen businesses

Every vertical is its own brand, storefront and mobile app. Underneath, they all draw on the same wallet, payment rail, identity check and admin back office. Pick one to see what it does and which shared services it leans on.

Shared core — written once, used by all fourteen

How it holds together

Multi-country, multi-currency, one wallet

South Africa and Zimbabwe, with country-code TLDs per market. A single wallet and ledger settles across verticals, with split payments, invoicing and refunds. Real-time messaging runs on Mercure; identity and AML screening run on a self-hosted stack I deployed, with e-signatures on Dropbox Sign.

Summary

Who I am on a team

Senior software developer with eight years building high-performance, scalable web and mobile applications across e-commerce, government and broadcast media. Deep expertise in PHP 8.x and Symfony backend architecture, custom Magento module development, REST and GraphQL integration, and Flutter mobile development.

What I'm doing now is narrower: putting large language models to work inside a product people pay for. That means the parts nobody demos — schema-constrained output, tool and capability boundaries, prompt-injection hardening on untrusted input, deterministic fallbacks, spend caps, and health checks on every model dependency. I hold seven Adobe Commerce certifications, three of them Adobe Certified Expert, and I still lead code reviews and mentor developers.

AI in production

Shipped, not proposed

Seven of these run on Easy Apply today, handling real customers and real money. Each one is here because of what it does when the model misbehaves, not because it calls an API.

LLM personalisation pipeline

Anthropic Messages API (direct HTTP, no SDK) · JSON-schema structured output · Batch API

  • Every outbound email is written per recipient from that company's own site content, pinned to a strict JSON schema via output_config.format so nothing downstream ever parses free text.
  • Scraped pages are treated as attacker-controlled — model output is sanitised before it can reach an HTML sink, closing the prompt-injection route.
  • A refusal falls back to a hand-authored template; a transport error retries. A bad model turn can neither send garbage nor silently drop a lead.

Multi-agent engineering pipeline over MCP

Claude Agent SDK · Slack MCP server · git worktree isolation · per-agent tool scoping

  • A request in a Slack thread runs to reviewed code: a read-only triage agent plans it against real files, fixer agents work in parallel — one per sub-task, each in its own git worktree so edits can't collide — and an adversarial reviewer gates the combined diff.
  • Least privilege at the agent boundary: triage and reviewer hold no write tools at all, and each role runs on the cheapest model tier that fits its job.
  • Slack is wired in as an MCP tool surface, so a run stays auditable by someone who wasn't watching it.

AI content moderation, with a net under the model

Google Gemini on Vertex AI · service-account OAuth2 · cached scoring · admin review queue

  • Screens all user-generated content for toxicity, fraud, exposed personal data and unfair rental criteria, returning a verdict plus per-category scores.
  • An escalate-only guard sits over it: because a model's written verdict can contradict its own scores, thresholds can make a decision stricter but never more lenient. It catches what the model waved through, and can never release what it flagged.
  • Day-long result caching, a daily request cap, and degradation to human review rather than a failed request.

Document understanding — PDF to validated records

Claude document content blocks · constrained JSON schema · nested output

  • Turns an arbitrary menu PDF into nested menus, categories, products and size variants by handing the document straight to the model against a hand-written schema.
  • The schema fixes shape; prices, defaults and currency are validated afterwards in typed code. Extraction saves nothing, so a hallucinated row can never reach the order flow.

Self-hosted automation with a hard boundary

n8n (Docker) · HMAC-SHA256 signed webhooks · capability registry

  • Two signed seams join n8n to the app: HMAC-SHA256 over timestamp and body with a bounded replay window going out, a constant-time token check coming back.
  • The automation engine gets no database credentials. Everything a workflow may ask the app to do is an explicit, reviewable capability class, so a canvas edit can never bypass validation — adding one is a code review.
  • Exception triage with back-pressure: reports deduplicate by fingerprint and remember the ticket already open, so an outage can't become thousands of runs with an LLM bill attached.

Python pipeline and self-hosted screening

Python 3 · ETL to FollowTheMoney JSON · Elasticsearch entity matching · Docker Compose

  • A Python ETL ingests public government sanctions lists, normalises them with alias enrichment and emits a versioned manifest that triggers a reindex — replacing a per-call commercial API with data we own and can audit.
  • Screening fails closed: a check that can't run is never recorded as a clean result.

Spend governance and model observability

Budget and metering service · pluggable health checks · CLI and dashboard

  • One spend brake for every metered API: kill switch, per-operation daily caps derived from a monthly ceiling, per-IP limits, and a strict split between asking "may we call?" and recording a call — so a cache hit never eats budget.
  • Health checks across tiers, including live reachability of the model APIs, as both a CLI command and a dashboard. Ships with real defaults, so a forgotten setting can't become a surprise invoice.

Certifications

3 expert · 4 professional

Stack

What runs Easy Apply and my wider work
Filter

How I work with AI

Force multiplier, not autopilot

Running a 14-vertical platform alone is only possible because I lean on AI deliberately. The judgement that matters isn't which tool to use — it's knowing when to trust the output and when to verify it, and never letting "the AI wrote it" stand in for a review.

How I build

AI-native development

  • Claude Code daily for agentic, multi-file changes, refactors and migrations
  • Cursor and GitHub Copilot for scaffolding, tests and rubber-ducking
  • Custom subagents defined per repo, each scoped to only the tools its job needs
How I choose

Model judgement

  • Model tiering per workload — the cheapest tier that clears the bar, not the biggest available
  • Batch over real-time wherever latency doesn't matter, at half the price
  • Token, latency and failure-mode budgeting treated as design inputs, not afterthoughts
How I keep it safe

Guardrails

  • JSON-schema-constrained output so nothing downstream parses free text
  • Prompt-injection defence on any content a stranger can influence
  • Deterministic fallbacks, escalate-only thresholds and human review queues
Where I draw the line

Review stays human

  • I'm the last reviewer on every line that ships — AI authorship is never an excuse
  • Adversarial self-review and edge-case hunting before merge, not after an incident
  • Money, auth and personal-data paths get read line by line, every time

Education

BSc Honours in Information Technology

Software Engineering · Chinhoyi University of Technology, Zimbabwe

Honours degree

Available now

Looking for someone who can hold a whole platform in their head?

I'm open to senior and lead roles — remote, contract, or on-site with relocation. Tell me what you're building and I'll tell you honestly whether I'm the right fit.