I am a South African builder from Cape Town with a background in Computer Science and Information Systems, now working as a Graduate AI Engineer at Ubundi.
My work sits in the practical layer around AI systems: agents, context, memory, internal tools, evaluation loops, product workflows, and the human operating patterns that make AI useful beyond the demo.
This is now my combined GitHub profile, so it carries the full arc:
- where I started learning to build software
- the projects that helped me grow
- the public systems and tools I am building now
- the way I am trying to use AI responsibly in my own life and work
- the ideas I am exploring next
|
I use AI deeply, but not as a shortcut around judgment. The goal is to pair human context, taste, review, and accountability with AI's speed and breadth. |
I care about how software and agents remember, retrieve, structure, and apply the right information at the right time. |
|
I am interested in the operating layer around agents: tools, memory, routing, approvals, verification, and clean handoffs between humans and software. |
I want my projects to be more than demos. They should teach me something, solve a real workflow problem, or make a complex system easier to inspect. |
Current role Graduate AI Engineer at Ubundi
Home base Cape Town, South Africa
Education BCom Computer Science + Information Systems
Honours Information Systems, University of Cape Town
Work edge Context systems, agent workflows, internal tools, evals
Learning edge Physical AI data quality, robotics trajectory QA, agent reliability
Personal edge Building an AI-native operating system for my own work and learning
At Ubundi, I work around the practical systems that make agentic software useful in real organizations: context, memory, internal tools, product workflows, observability, evaluation, and safer operating loops.
Outside of official work, I am experimenting with my own AI-native operating system: a Markdown-based Brain Dump, Codex workflows, personal agents, daily/weekly review loops, and small tools that help turn messy thinking into durable artifacts.
| Lane | What it means to me |
|---|---|
| Agent infrastructure | Making agents more useful, inspectable, and bounded through tools, memory, routing, and approvals. |
| Context and retrieval | Helping AI systems use the right information without losing the human thread. |
| Evals and observability | Building feedback loops so AI outputs can be compared, inspected, trusted, and improved. |
| Internal tools | Turning repeated workflow pain into simple tools and operating systems. |
| Physical AI data quality | Exploring how robotics demonstrations and trajectories can be checked, cleaned, explained, and trusted before model training. |
| AI-assisted engineering | Learning how to work with AI properly: strong context, good taste, real verification, and human accountability. |
| Project | Why it matters |
|---|---|
| Umbono AI Evaluation Dashboard | A model-comparison and evaluation dashboard for scoring AI outputs against custom criteria. |
| Resonate | An AI writing platform that models communication identity and rewrites outputs to match a user's voice. |
| Local Context Engine | A privacy-first local RAG experiment with offline document ingestion and hallucination evaluation. |
| ProjectForge | AI-powered project scaffolding with team conventions baked in. |
| Personal Codex Agent | A lightweight candidate-context chatbot using profile data, CV material, embeddings, and a clear UI. |
| Angular Rota Viewer | A focused Angular app for daily roster viewing, reports, time zones, and role-based interaction. |
| Rent A Ryde | A full-stack rental workflow with Vue, Firebase auth, bookings, admin operations, and inventory APIs. |
| University Code Archive | Older learning history. Not the sharpest work now, but part of the path. |
Private and in-progress lanes
Some of the work I care about most is private, internal, or still being shaped before it is useful publicly. The biggest current lane is Physical AI data-quality tooling: systems for checking, cleaning, and explaining robotics trajectories before they become model-training data.
The fuller activity story is in the pinned repositories and native contribution graph below: older learning, newer AI systems, and current work compounding together.
How I think about AI
I do not want AI to replace the thinking part of my work. I want it to make the thinking more visible, more structured, and more ambitious. The best AI-assisted work still needs a human who knows what matters, notices when something is wrong, and takes responsibility for the final result.
What Ubundi is teaching me
Working at Ubundi has moved me from student-era projects into production-adjacent AI engineering. I am learning that the hard part is rarely just the model. It is context, trust, workflow design, observability, secure boundaries, integration details, and knowing when a human needs to stay in the loop.
What I am exploring next
I am increasingly interested in Physical AI data infrastructure: how real-world demonstrations become usable training data, how trajectories can be checked for quality, and how agents can help humans inspect messy multimodal data before it becomes model input.
What this account used to be
This account started as a place for university and early full-stack work, then became the survivor account after I merged my work and personal GitHub identities. I am keeping the history visible because it shows the path, but the center of gravity has changed: I am now building toward AI systems, agent workflows, and reliable tools for real-world work.
