Python and cloud engineer with production AWS and Django experience across QA, UAT and Production. I ship live government and commercial platforms, owning both the application and the infrastructure underneath it.
🏢 Founder of DevBridge, a Pretoria-based software and cloud infrastructure company serving government and enterprise clients across South Africa.
Note
Open to opportunities: hybrid or remote work in the Centurion / Pretoria area.
Several of these are government systems, so I don't link them directly. Full write-ups are on my portfolio.
Livi · liveMulti-tenant citizen-services platform, Office of the Premier, Mpumalanga
|
e-PGLUM · liveNationwide land-use and building-plan management, live for CoGHSTA, Mpumalanga
|
|
The Workplace Basics Django commerce and publishing platform
|
Community Web Modernization · pro bonoAnnual programme: 6 sites for schools, churches, NGOs and sports clubs
|
Our own products, with the codebases largely complete and now heading into users' hands. Feature additions and gap-filling follow once real feedback comes in.
EO Risk Platform · in developmentSatellite Imagery · Risk Analytics · REST API · Insurance A B2B satellite-imagery analytics API that turns Earth observation data into property risk scores for insurers. One call returns a composite score, hazard exposure and the evidence behind them. |
Heavy Fleet Intelligence · in developmentTelemetry · CAN / J1939 · MQTT 5 · Multi-Tenant A white-label, hardware-agnostic operational intelligence platform for mining and heavy logistics: live telemetry, trip reconstruction, route compliance and stop analysis over industrial gateways. |
| Languages | Python (expert), Java, JavaScript, C# (.NET MVC), Kotlin, SQL, Delphi |
| AWS compute & delivery | ECS Fargate, Lambda, CloudFront, Route 53, ACM, CloudFormation |
| AWS storage & data | S3, EFS, RDS, ElastiCache |
| AWS messaging & events | SQS, SNS, EventBridge, SES |
| AWS security & ops | IAM, KMS, Secrets Manager, WAF, CloudWatch, Rekognition |
| Data & messaging | PostgreSQL, PostGIS, MySQL, Redis, pgvector, RabbitMQ, Amazon MQ, Celery |
| DevOps | Docker, Git, GitHub Actions, CI/CD, Infrastructure as Code |
Only the bastion in the public subnet is reachable from the internet, and only from my own IP. The private VM has no public address, so the only way in is an SSH jump through the bastion.
flowchart LR
ME([My machine<br/>single allowed IP]) -- "SSH :22" --> NSG1{{NSG: allow SSH<br/>from my IP only}}
subgraph VNET["Azure Virtual Network"]
subgraph PUB["Public subnet"]
NSG1 --> BASTION[Bastion VM<br/>public IP]
end
subgraph PRIV["Private subnet"]
NSG2{{NSG: allow SSH<br/>from bastion subnet only}} --> TARGET[Private VM<br/>no public IP]
end
BASTION -- "SSH jump" --> NSG2
end
Network security groups restrict inbound SSH at both layers.
Certifications
|
Education
|
I keep my study notes in public at knowledgebase.devbridge.co.za: a regularly updated hub covering cloud, databases, Linux, networking, orchestration and programming. They're rough working notes, tidied with an LLM, written as I learn.
Pretoria · ZA · REF · SN—2026



