Showcase

A look at the systems I'm building right now — the businesses they serve, what each one does, and the technical contribution behind it.

From global advertising delivery to retirement planning and the operating theatre, these are long-term engagements where architecture and modernization make a measurable difference to how the business runs.

Xtreme Reach ad delivery
Xtreme Reach (XR.global) logo

Advertising & Media · Global

AdStream Radio

Client: Xtreme Reach — XR.global. A global creative-logistics company that manages and delivers advertising assets to broadcasters worldwide. AdStream Radio is the platform that runs the radio side of that business.

A platform that automates the entire life of a radio advertising asset — from order and audio upload, through broadcast-quality validation, to automated delivery and tracking across radio stations in multiple countries.

Scope

  • One platform serving Australia, the UK, Brazil and South Africa, each with its own database and localized content
  • Full order lifecycle: quote → confirm → finalize → deliver
  • Broadcast-quality audio processing — EBU R128 loudness checks, duration validation and format conversion
  • Automated delivery to broadcaster networks with end-to-end tracking
  • A modern REST API and background worker services doing the heavy lifting

My technical contribution

I'm leading a phased modernization of a large, long-running system — introducing a modern .NET REST API and clean domain boundaries alongside the existing platform. The business keeps operating while the architecture is renewed, avoiding a risky "big bang" rewrite. Automated code generation keeps the data layer consistent and removes the bulk of hand-written boilerplate.

.NET 7+ ASP.NET Core Minimal APIs SQL Server JWT auth Audio / EBU R128 Multi-region architecture Code generation
The Loeries awards
The Loeries logo

Creative Industry Awards · Africa & Middle East

The Loeries Awards

Client: The Loeries (loeries.com). For over 30 years, the body that recognizes the best brand communication and creativity across Africa and the Middle East — a credentialing platform for the region's agencies and creative talent.

The digital platform behind the awards — managing the full journey from entry submission and rich media, through online judging, to a permanent public archive of award-winning work.

Scope

  • Entry lifecycle — category selection, multi-step entry forms, media attachment and validation
  • A media pipeline that converts video and generates thumbnails in the background
  • Online judging workflows, including finalist and Grand Prix selection
  • Reliable award duplication for each new awards season
  • A public archive presenting winning work with full credits

My technical contribution

I'm re-platforming a 15-year-old legacy system onto a modern, maintainable foundation while preserving the look and feel entrants already trust. A clean API architecture and a background media-processing pipeline mean large volumes of entries and video are handled reliably through the peak entry rush.

.NET 10 CQRS · MediatR + Carter FluentValidation Dapper + SQL Server FFmpeg media processing React 19 + Vite
Rent-A-Store Centurion storage facility
Rent-A-Store logo

Self-Storage · South Africa

Rent-A-Store

Client: Rent-A-Store (rent-a-store.co.za). A multi-branch self-storage operator renting units to consumers and businesses across South Africa.

A unified digital platform for a self-storage business — letting customers find units, see pricing and book online, while giving staff a single modern system for the entire tenant lifecycle across every branch.

Scope

  • Customer website with live unit availability, pricing, online reservations and payment
  • Three separate legacy systems consolidated into one platform with a single customer view across all branches
  • Staff portal for sales, contracts, tenants, ticketing and transport logistics
  • An integration layer wrapping the legacy SiteLink system, exposing 260+ operations as modern APIs
  • Safe, validated migration of data off the old systems

My technical contribution

I designed the architecture for a full digital transformation — applying Domain-Driven Design to carve a tangle of legacy systems into clear business domains, with an anti-corruption layer that isolates the legacy SiteLink dependency. The result is a single source of truth for customers, automated communications, and a platform that can grow without accumulating technical debt.

.NET 10 CQRS · MediatR + Carter Domain-Driven Design Dapper + SQL Server React 19 + TypeScript MJML email PayFast payments
Alexforbes investment destination
Alexforbes logo

Financial Services · Retirement

LifeGauge

Client: Alexforbes (Alexander Forbes) — one of South Africa's largest retirement and financial-services firms. LifeGauge is the tool Alexforbes' retirement-fund consultants rely on in the field.

An interactive financial-visualization tool that helps retirement-fund consultants turn complex actuarial data into clear member outcomes — modelling retirement scenarios and building member presentations, even offline.

Scope

  • Modernization of a legacy AngularJS / .NET Framework product onto Angular 21 + .NET 10
  • A Backend-for-Frontend architecture with cloud identity (Microsoft Entra ID) replacing on-premise Active Directory
  • Offline-first capability so consultants can work and present without connectivity, syncing when reconnected
  • A branded design system aligned to the Alexforbes identity
  • Interactive data visualization and scenario modelling — the next delivery phase

My technical contribution

I'm leading the modernization with a security-first architecture where authentication tokens never reach the browser, and a phased, zero-downtime rollout so consultants migrate at their own pace. Clean architectural seams — a provider-agnostic identity layer, shared libraries and an offline sync layer — cut future risk and cost.

.NET 10 (BFF) Angular 21 + TypeScript Microsoft Entra ID (OIDC) YARP Offline-first PWA D3.js SQL Server
Surgical navigation tumour-resection visualization
SNT (Brainlab) logo

Medical Technology · Surgical Navigation · In design / early build

SNT Systems — SurNavTec

Client: SNT — Surgical Navigation Technology (snt.co.za), the South African partner for Brainlab's cranial, spinal and ENT surgical-navigation systems. SNT's technicians attend complex procedures in theatre, setting up and operating navigation equipment across the country.

A surgical case-management platform that replaces a tangle of spreadsheets and group chats with a single system of record — coordinating the surgical cases, technicians, equipment and billing behind every navigated procedure.

Scope

  • Domain-led design first — a DDD domain map of eight bounded contexts, an architecture evaluation, and a phased roadmap with value gates between phases
  • Built so far: the case-management core (full case lifecycle), reference data, work tasks, and a React admin interface
  • Working integrations with Google Calendar (scheduling) and QuickBooks (billing), plus a web-push notifications proof-of-concept
  • In design: the technician scheduling & dispatch engine, equipment & inventory tracking, full billing, and reporting
  • An event-based audit trail aligned to POPIA for sensitive medical-case data

My technical contribution

I'm establishing the architecture and domain model from the ground up — mapping the business into clear bounded contexts and choosing a pragmatic, hybrid event-driven design that gives a full audit trail without the weight of full event sourcing. The phased roadmap moves the business from after-the-fact transcription to capturing events at the source, and proves value at each step before committing to the next.

.NET 10 Domain-Driven Design CQRS · Carter Event-driven audit trail Dapper + SQL Server React 19 + Tailwind MCP (AI-ready) POPIA compliance
"The work that lasts isn't a rewrite that stops the business. It's modernization the business never has to stop for."

— On phased, low-risk modernization

Have a system like one of these?

Whether it's a legacy platform to modernize or a new system to architect, let's talk about what's possible.