ml/ai engineer · full-stack · cape town → the world

Peter
Kautwima

Builds systems that adapt & learn Stack React · TypeScript · Python Edu BSc Hons ML/AI
scroll ↓
evolving creaturesgenetic algorithmscancer detectionrag pipelinesphysics simulationreact & typescript evolving creaturesgenetic algorithmscancer detectionrag pipelinesphysics simulationreact & typescript

The short version

01 / about
Full-stack engineer with an ML/AI honours degree, building things that visibly work — evolved creatures that climb, models you can watch think, interfaces that teach.
Six-plus years shipping React/TypeScript in production — the last three delivering a multi-brand estate at a FTSE40 gaming company — now aimed at ML, research and simulation work. My rule for every project on this site: honest framing, reproducible results, and an interactive demo over a wall of claims. Every case study says plainly what it is and isn't — what I built, what was provided, and what the real numbers are. If a figure can't be regenerated from committed code and a seed, it doesn't get shown.
Credentials
BSc Hons — Machine Learning & AI, University of London (final exam · Sept 2026)
Diploma — Web Development
Diploma — Web Design
Diploma — Financial Trading
6+
years engineering in production
8
projects on this site — each with a live demo, live site, or honest writeup
0.77
AUC on mammography coursework — and why that honest number beats a fake 0.99
1
mountain, being climbed by evolution as we speak

Selected work

02 / eight projects · 2021–2026
production work
01 / employer project 2025

Jackpot Carousel @ Rank

A real-time jackpot carousel live on Mecca Bingo and Grosvenor Casino: a Cloudflare Worker polls and caches jackpot values from multiple providers, and a Remix service layer streams them into smoothly animated UI. Multi-provider normalisation, polling architecture and cache invalidation under production traffic — the code stays with the employer; the live site speaks for itself.

reacttypescriptremixstorybookcloudflare workers
02 / employer project 2021–2022

reOS

Front-end engineer on a customer-facing rental-management platform — built the support team's payment-reconciliation tool, user invitations and role permissions, file management and dashboard stats. Joined as an intern; full-time junior four months later.

reacttypescriptredux
03 / client work 2022

La Tierra

Client site for an agave brand — Next.js + Tailwind with tabbed product offerings and a Rive-animated windmill running on the Rive JS runtime. The project where I properly learned Next.js.

next.jstailwindrive
research & ml
04 / flagship · simulation + evolutionary computation 2024 · rebuilt 2026

Evolving Creatures FLAGSHIP CASE STUDY

A genetic algorithm evolving 3D creatures in a PyBullet physics sim to climb a mountain — selection, crossover, mutation, honest fitness design that catches its own reward hacks, and an interactive explainer where you can step through evolution yourself. GA, not RL — and the writeup explains exactly why that distinction matters.

pythonpybulletgenetic algorithminteractive explainer
05 / deep learning · coursework UNIVERSITY PROJECT 2026

Breast Cancer Detection CASE STUDY

A four-stage pipeline — baseline CNN → frozen VGG16 → regularisation → fine-tuning — on CBIS-DDSM mammography, with Grad-CAM heatmaps showing where the model looks, including on the cases it gets wrong. Honest headline: AUC 0.77 on 714 held-out scans — above the published mean-radiologist benchmark, below clinical grade, and the case study says so up front.

tensorflowcnngrad-cam
06 / applied llm 2026

Document Q&A (RAG)

Retrieval-augmented pipeline: chunking, local sentence-transformer embeddings, cosine search, and grounded answers citing their source chunks — plus a similarity guardrail that says "no relevant content" instead of hallucinating. FastAPI backend, React + TypeScript front end, 61 tests and an evaluation harness grading retrieval quality.

pythonembeddingsfastapireacttypescript
play
07 / play 2022

Gameslot

A slot game wired to live PokéAPI data — three reels, a wallet that stakes each spin and pays out multiples on a win, and CSS-keyframe reel animation synced to state updates. Small, complete, and fun.

reactrest api
08 / origin story 2022 · rebuild in progress

Crypto Hunter

A p5.js platformer from first-year programming — collect the coins, dodge the enemies — the first code I ever shipped. Kept here deliberately: an AI-assisted rebuild is underway, and the before/after will live side by side.

p5.jsjavascript

Labs / live experiments

03 / poke the work

Evolution, step by step

Step through a real genetic algorithm one generation at a time — selection, crossover, mutation, elitism — and watch the fitness distribution shift on actual seeded experiment data.

LIVEopen the stepper →↗ opens the Evolving Creatures case study
🎛

Turn the GA's dials

Population size and mutation rate, swept across real runs. Switch between them and watch the curves redraw — the exploration-versus-exploitation tradeoff, on measured data rather than a diagram.

LIVEsee the sweeps →↗ opens the Evolving Creatures case study

Where the model looks

A Grad-CAM explorer over held-out mammograms: pick a scan, flip between the image and the heatmap, and read the prediction against the decision threshold — including the two cases the model got wrong.

LIVEopen the explorer →↗ opens the Breast Cancer case study

This hero, explained

The particle system on the front page is a live flocking sim that reacts to your cursor. A short interactive note on how it works — and how it hands off to the real evolution footage.

LIVE ON THIS PAGE ↑