Skip to content

Selected work

Business-critical systems, delivered with care

A selection of platforms I've built and contributed to — across fintech, dealership operations, Odoo ERP, B2B portals, and test automation. Each card outlines the problem, my contribution, and the outcome.

Odoo ERP platformAO Group / FlexiDrive

FlexiDrive — Odoo ERP

Custom Odoo 18 vehicle-finance ERP covering origination, credit decisioning, contracts, invoicing, and DebiCheck collections.

Problem
FlexiDrive needed to migrate legacy Django workflows into a unified ERP — from application intake and bureau checks through contract signing, Sage accounting, and Netcash debit-order collections.
Contribution
Built 24 custom Odoo addons spanning application APIs, Experian and TransUnion integrations, automated decisioning and risk-based pricing, digital contract signing, Sage hooks, Netcash DebiCheck collections, and a consolidated client-account module for arrears and promise-to-pay tracking.
Outcome
A single Odoo platform that supports the full vehicle-finance lifecycle with automated underwriting, dependable collections, and operational dashboards.
Odoo 18PythonOWL / JavaScriptPostgreSQLExperian APITransUnion APISignioSageNetcash DebiCheckOdoo Sign
B2B operations portalSupaQuick

SupaQuick

Secure requisitions portal connecting SupaQuick windscreen repair branches with Europcar fleet operations — from incident intake through PO and invoice reconciliation.

Problem
Branch submissions, Bedfordview review, Europcar purchase orders, and invoice reconciliation relied on disconnected spreadsheets and email, creating delays, inconsistent data, and weak audit trails.
Contribution
Built the portal end to end on Next.js with role-based workflows for branches, coordinators, Europcar reviewers, and admins — including incident intake, requisition lifecycle management, PO and invoice handling, reporting, bulk imports, and a full audit trail.
Outcome
A dependable B2B operations platform that replaces manual coordination with structured workflows, Europcar-aligned exports, and fraud-aware audit logging.
Next.jsReactTypeScriptPostgreSQLPrismaNextAuthTailwind CSSTanStack QueryDockerPlaywright
Test automationVALR

VALR — Test Automation Platform

End-to-end automation platform for a high-volume cryptocurrency exchange covering trading, wallets, funding, and liquidation flows.

Problem
A high-volume exchange needed dependable regression coverage across trading, wallet operations, funding flows, and liquidation scenarios to protect transactional integrity.
Contribution
Contributed to the end-to-end automation framework and CI pipelines that exercise critical exchange flows.
Outcome
Improved regression confidence, release readiness, risk control, and transactional integrity.
KotlinKubernetesGitLab CI/CDJiraREST APIsDocker
HR & labour complianceGingerforge (Pty) Ltd

Discipline ComplyApp

AI-powered SaaS for South African workplace discipline — from WhatsApp incident intake through LRA-aligned warnings, e-signatures, and CCMA-ready audit trails.

Problem
Managers handling employee discipline manually risk inconsistent processes, procedural mistakes, and records that do not stand up to CCMA scrutiny — especially across multiple sites.
Contribution
Built the platform end to end: FastAPI microservice with AI-backed sanction recommendations aligned to SA labour law, WhatsApp incident bot, branded PDF generation for counselling through disciplinary hearings, ECTA-compliant digital signing, and PayFast subscription billing.
Outcome
A subscription SaaS that turns scattered incidents into compliant, auditable discipline workflows — reducing drafting time and giving HR live visibility across every site.
PythonFastAPISQLAlchemyPostgreSQLGemini AIMeta WhatsApp APIPayFastReportLabPyMuPDFDocker
HR & complianceIndependent project

Avantgarde 2332

HR and labour-relations platform with POPIA risk workflows, document generation, and Google Drive integration.

Problem
HR managers needed structured disciplinary and POPIA compliance workflows, with generated documentation stored securely yet accessible to clients.
Contribution
Built the platform end to end: complex disciplinary and risk-assessment logic, PDF generation, in-app document signing, and a Node/Express API integrating Google Drive and email.
Outcome
A single, auditable workflow for disciplinary processes, POPIA risk assessments, and document management.
ReactNode.jsExpressjsPDFGoogle Drive APIFirebase AuthFirebase HostingFirestore
Field service platformAquaman (Garden Route)

Aquaman

Marketing site and field-operations platform for a Garden Route pool cleaning business — visit logging, client CRM, and admin reporting.

Problem
A pool service business needed more than a brochure site: contractors in the field had to log visits with chemical readings and photos, while admins needed client records and reporting in one place.
Contribution
Built the platform on the T3 Stack with a public marketing site (services, blog, quote requests) and a role-based ops app where contractors log pool visits with maintenance checklists and S3-hosted before/after photos; admins manage recurring and once-off clients and run date-based reports.
Outcome
A single platform that supports customer-facing marketing and day-to-day field operations without paper or scattered spreadsheets.
Next.jsTypeScripttRPCPrismaPostgreSQLAuth0AWS S3Tailwind CSSGoogle Drive API
Onboarding appsPolicy Portal

Shield Life / SA Army

Member onboarding and privacy-policy applications with PDF generation, in-app signatures, and SOAP/XML submission.

Problem
New members needed a guided onboarding flow that captured privacy-policy acceptance and submitted applications to a downstream system.
Contribution
Built member onboarding and privacy-policy acceptance, PDF generation, in-app signatures, and application submission over SOAP/XML.
Outcome
A streamlined, paperless onboarding and policy-acceptance experience.
ReactjsPDFreact-signature-pad-wrapperSOAPXML
Calendar integrationPolicy Portal

Justine Event Booking

Event booking flow that generates add-to-calendar links for Google, Outlook, and Office 365, with ICS download.

Problem
Attendees needed a simple way to add booked events to their preferred calendar across different providers.
Contribution
Added calendar-link generation for Google Calendar, Outlook, and Office 365, plus a custom ICS download for everyone else.
Outcome
A frictionless add-to-calendar experience across all major providers.
NuxtVue.jsICS
Frontend & mobilePolicy Portal

First Check

Styling refresh, cookie consent, and a mobile licence-disc scanning flow for reading VIN numbers.

Problem
An existing Nuxt/Vue app needed a visual refresh, cookie-consent handling, and a mobile-only flow to scan licence discs and read VIN numbers.
Contribution
Refreshed the styling, added a cookie-consent alert, and built the mobile licence-disc scanning flow within the existing Nuxt/Vue stack.
Outcome
A cleaner, more usable experience with new mobile scanning capability.
NuxtVue.js
Mobile utilityPersonal project

KJ to Calorie

A small React Native utility app that converts kilojoules to calories.

Problem
A quick, focused tool was needed to convert kilojoules to calories on mobile.
Contribution
Designed and built the React Native app and published it to the Play Store.
Outcome
A lightweight, single-purpose mobile utility.
React Native

Let's build something reliable

Whether you need a new platform, a backend that holds up under load, or a second senior opinion on architecture — let's talk.