AI-generated Image: The data does not sort. By anything. In any direction.
For two weeks I have been watching South Africa from Nairobi.
On 19 April, Tabeth Chidziva, a Zimbabwean street vendor in Hillbrow, was shot dead on camera. Her family says she was defending her pregnant daughter. Viral posts reduced it to a dispute over a plate of food. The CCTV footage went viral within hours. In Durban, protests led many businesses to shut their doors from 22 April after the March and March movement escalated pressure on foreign-owned traders. Foreign-owned shops have been looted in KwaZulu-Natal and the Eastern Cape. Ghana and Nigeria both issued formal advisories to their nationals. The African Commission on Human and Peoples’ Rights released a statement of condemnation. And across all of it, videos circulate on X with the same algorithmic urgency, some current, some recycled from years ago with fresh captions. Tabeth Chidziva’s own family had to ask the public to stop spreading false versions of her death.
The feed is a room. It selects for content that confirms the category it has assigned you. If you are watching xenophobia footage, the feed will show you more xenophobia footage, until the footage becomes the country. South Africa is reduced to a single story. The algorithm does not do this with malice. It does it because confirmation drives engagement, and engagement is what it optimises for. You end up believing you have seen the whole picture when you have only seen the corner the feed chose for you.
I am a black foreigner who lived in South Africa. I should know what this looks like from the inside. And I do. But the data I carry does not match the story the feed is telling, and it does not match the story my category is expected to tell either.
In my first year at the University of the Witwatersrand, I experienced xenophobia. It came from black South Africans. I did not think much of it at the time. I filed it somewhere between irritation and culture shock and moved on. I never experienced racism from a white person in South Africa. That sentence will cost me something, and I am going to let it sit there anyway, because it is what happened.
But that sentence is not the whole picture either. Some of my closest friends are black South Africans. People I joined the graduate programme with. People I studied with. People I spent long nights cramming with before exams. One of the people I can call at any hour, for any kind of help, is a black South African. The xenophobia I experienced in my first week and the friendships I built over the years that followed exist in the same country, in the same city, on the same campus. Both are real. Neither cancels the other.
At university, some classmates who received poor marks would attribute them to racial bias. The exams were marked by student number. The marking was anonymous. I checked my own papers against the criteria and I could not see the evidence for the claim. Maybe the weaker English that some students carried from under-resourced schools showed through even without a name attached. That is a real problem with real origins. But it is a problem of upstream schooling, and calling it racism at the point of marking skips every link in the chain to land on the conclusion the category supplies. The frame arrived before the evidence. I watched it happen in real time, and I noticed I was the one checking the paper while others were reaching for the category.
The pattern repeated across every environment I entered. At my Opus Dei high school, where the priests were mostly Spanish and Kenyan with an American, I was an Adventist kid inside a Catholic structure that was not built for me. The maths teacher who liked me most was black. He died recently, and I carry that. The commerce teacher who backed me was also black. The Swahili teacher from Read These, She Said expected me to fail. He was also black. Three black teachers, three readings of the same student. At the Indian school that followed, a full scholarship placed me among a mostly Indian student body. At the A-level award ceremony for examinable subjects under British curriculum schools across East Africa, there were two black students in the room. I was one of them. In my career, white practitioners across five nationalities opened many significant doors. My mentor, a white South African, still guides me. The person who presented the most professional friction was a black Zambian, working under a white South African who was decent to me. And alongside all of them, others showed up at different points. Black, white, Indian, across every creed. People who shared ideas and gave assistance when it mattered.
I am listing these details because removing them would be dishonest. The data does not sort. By anything. In any direction.
These were specific rooms. They were unusual rooms. Most people who look like me were not in them. A pattern can be real and still fail to explain every room. I am not claiming my experience disproves anything structural. I am claiming it is mine, and I have not been willing to suppress it. But saying that out loud turns out to be harder than I expected.
Xenophobia is category enforcement by violence. Tabeth Chidziva was not shot because of who she was. She was shot because of what she was filed under. Foreign. The category was enough.
The feed is category enforcement by curation. It does not show you the black South African who would answer your call at two in the morning. That is not engaging content.
Education is category enforcement by credential. The categories arrive through coursework, through reading, through institutional authority. They feel like knowledge because they were acquired through the process we associate with knowledge. Contradictory data is treated as error, not evidence.
And the pressure to suppress your own contradictory evidence is category enforcement by silence. When you hold data that complicates the narrative, the expectation is that you will keep quiet. One side will extract a sentence and use it to say racism is overstated. The other will extract a different sentence and say you have been captured by proximity. Both will strip the context. When I have made observations like these before, it is black people who have called me a house negro. The enforcement comes from inside the category. That is what makes it effective. When you suppress what you actually experienced, you are deferring to your demographic’s expected testimony over what your own rooms showed you.
Over the weekend I sat with a group of educated professionals at a bar in Nairobi. The conversation turned to why populist movements and figures like Trump continue to garner support across parts of Africa and the West. They listened intently, but challenged vehemently. The default was immediate: his supporters are misinformed, under-educated, consuming the wrong media. The room could not sit with the possibility that education itself might have installed the categories being defended. Indoctrination is something that happens to the uneducated. It cannot happen to us. We did the reading.
Someone in different rooms collected different data. Some of that data may reflect real structural damage carried from upstream. Some of it may reflect a category that was reached for before the evidence was checked. I do not know which, because I was not in their rooms. What I know is what my rooms showed me, and I have checked it against the evidence I have.
The videos are still arriving. I watch the footage and I hold what anyone would hold. The violence is real. The suffering is real. People who look like me are being targeted by people who look like me, in a country where the people who invested in me look nothing like either group, and the people who became my closest friends look like both. I carry all of that at the same time. It does not resolve into a clean position. I do not think it is supposed to.
What are you carrying that does not resolve? And have you reported it honestly, or have you let the room you are in tell you what you saw?


