THE DRIVER
Two years shipping production websites for a digital agency while finishing a CS degree. Comfortable across the stack; happiest in backend systems, computer vision and high-performance computing. Off the clock: electric and acoustic guitar, piano, and a long-running S13 build.
- CLASS
- BSc Computer Science, final year
- TEAM
- University of Pretoria
- DAILY STACK
- Python · TypeScript · Java · C++
- FOCUS
- Backend · Computer vision · HPC
- MILEAGE
- 270+ contributions · 37 PRs · 9 repos on GitHub
WORK HISTORY
WEB DEVELOPER · 4IR DIGITAL
Part-time, 2022 – present · digital agency & cybersecurity services, Pretoria
- Designed, built and shipped five client websites end to end — scope, quote, build, hosting, handover — all still in production.
- Built bespoke vanilla HTML/CSS/JS components for a multi-page cybersecurity platform: canvas animations, scroll-linked sections, an interactive SVG map of Africa and a modular service selector.
- Replaced a WordPress site-search subsystem, including a full data migration, with zero downtime.
- Automated WooCommerce catalogue and bulk price updates with Python scrapers and CSV pipelines — a multi-day manual job now runs in under an hour.
ON THE ROAD
THE BUILDS
GESTURE-BASED DRONE CONTROL
COS 301 capstone · Team Codex Merchants · 2026
Pilot a drone with bare hands on a standard webcam. Built the computer-vision pipeline — MediaPipe landmarks → rule-based + ML recognisers → temporal stabiliser → async WebSocket stream — and the calibration subsystem: a session state machine with REST + WebSocket endpoints and a gate that blocks uncalibrated flight commands.
UNIVERSAL ACCEPTANCE VALIDATOR
Registry.Africa hackathon at UP · July 2026 · Best Validator winner
A reference email + domain validator that kills the "three-character TLD trap" locking .africa, .capetown and .joburg addresses out of South African portals. Scored 100% on the competition suite with standard-library Python only: live PSL / IANA root-zone lookups, full Unicode + Punycode, RFC-compliant 64-octet local parts and sub-addressing.
CHPC STUDENT CLUSTER COMPETITION
Team UPtime · national finalist · 2026
Specified two competing cluster architectures — an R650k baseline at ~8.8 TFLOPS and an EPYC/H100 build at ~100 TFLOPS — with full cost, power and performance justification. Ran HPL on OpenStack to ~1,098 GFLOPS with OpenBLAS and profiled the BLAS library as the next lever. Provisioning automated with Terraform and Ansible; CI via GitHub Actions and CircleCI.
PRICE COMPARISON PLATFORM
COS 221 · 2025
Normalised MySQL DB with real retail data, PHP REST API, responsive JS frontend.
PLANT NURSERY SIM
COS 214 · 2025
C++ simulation around Gang of Four patterns, with UML, unit tests and docs.
PARTS INVENTORY
LANGUAGES
FRONTEND
BACKEND
DATA
ML / CV
DEVOPS / HPC
TESTING & PLATFORMS
TROPHIES
- Best Validator — Universal Acceptance Hackathon, Registry.Africa at the University of Pretoria, July 2026. Perfect score on the competition test suite.
- National finalist — CHPC Student Cluster Competition 2026, Team UPtime, representing the University of Pretoria.
- Open source — 270+ contributions and 37 pull requests across 9 repositories.
RADIO IN
The garage door's open. Graduating 2026 and looking at graduate software roles — backend, computer vision or HPC. Based in Pretoria, happy remote.
Tip: the piano actually plays — tap the keys, or use your computer keyboard (A row = notes, W row = sharps, Z/X shift octaves). The guitars strum, and clicking the S13 flips it into show mode. Moon button, top right.