Smallest working version first
One episode rendered badly, end to end, before any attempt at a season. The first delivered pass came out at the wrong resolution — exactly the error an end-to-end run surfaces and a component test does not.
About me
Tshivhidzo Mbedzi
AI & Technology Specialist · Pretoria, South Africa
Independent technology builder in Pretoria, South Africa. Two released desktop applications built on locally hosted AI models, and twenty 4K animated episodes produced by a pipeline I built. All of it with AI assistants as my engineering partner.
I use AI assistants to research, design, write, test and troubleshoot the systems on this site. That is not a disclaimer at the bottom of the page; it is the first thing I want a hiring manager to know, because the alternative is being found out in a technical interview, and because the method is more interesting than the euphemism.
What I actually do is specify a system, decide its architecture and constraints, direct the implementation, and then test it hard enough to find out whether it works. The part I am good at is the last one. Most of what is on this site exists because I kept measuring things after they appeared to be finished.
The specific claim is this. I cannot currently sit down and write production code unaided at interview speed. I can take a vague requirement, turn it into a system with defined boundaries, build it with assistance, find the faults in it — including the faults in my own measurements — and ship something that real people pay for and use. Those are different skills, and the second is much of what AI evaluation and AI operations work consists of.
Why I lead with this
The roles I am targeting — AI quality rating, AI evaluation, AI training, AI operations — exist precisely because AI output cannot be trusted without someone checking it. A candidate whose own portfolio overstates itself is the wrong person for that job, whatever their CV says. So the test I set myself for this site was that every claim on it should survive being checked.
Six practices, each learned by getting something wrong first. They are the reason the projects on this site have gates, tests and rollback paths rather than just features.
One episode rendered badly, end to end, before any attempt at a season. The first delivered pass came out at the wrong resolution — exactly the error an end-to-end run surfaces and a component test does not.
A file existing where one was expected is not a result. Resolution, frame rate, audio level and transcript are measured before anything is called finished. Several of my strongest conclusions were deleted by this rule.
When an idea is tested and fails, the evidence is recorded at the place in the code where somebody would try it again. Three ideas in one product have been tested, rejected, and re-rejected on a later attempt — the note is what eventually stopped the cycle.
A rule in a document decays. A rule in a test does not. The honesty of my simulation engine is enforced by an automated check rather than by my memory of a convention I set.
Every case study on this site carries a list of what is unbuilt, and that list is rendered on the page rather than kept in a file. It is the reason the built list is worth reading.
A new approach has to beat the old one on the same test before it replaces anything, and the old version is kept. Novelty is not evidence.
A portfolio is more useful when it has edges. These are mine, and none of them is hidden anywhere else on this site.
Everything in that list is addressed by the twelve-step roadmap on the Career page, and every step there is completed by building something rather than by finishing a course. Nothing on that roadmap is marked complete today, which is the accurate state of it.
2021
Information Security at NQF level 8, passed with distinction
My strongest academic result, and the origin of the privacy-first architecture decisions in my products years later.
March 2024
Higher Certificate in IT Support Services completed
Formal grounding in support, troubleshooting and service practice — the layer everything since has run on.
February 2025
Began CS50 AI with Python
In progress, not complete. Listed that way everywhere on this site, including being left out of my CV.
2025
First independent software projects shipped
The year I stopped studying technology and started operating it: real systems, running unattended, that had to keep working.
2026
Two desktop AI products released, two animated seasons produced, a 30-lesson course published
The year the portfolio on this site was actually built — and the year I learned most of what the Verification page documents.
Remote work, with an organisation that treats AI-assisted development as normal practice rather than something to be apologised for. My immediate fit is AI evaluation and quality work, where measurement discipline is the job itself, or AI operations and technical support, where my formal qualification and my experience running production systems both apply directly.
Longer term I am working towards AI/ML engineering, through the roadmap on the Career page. I would rather start in a role where what I already have is immediately useful and close the engineering gaps through the work, than claim a level I am not at and spend six months being found out.