<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Thabang Mashinini-Sekgoto - Blog</title>
    <link>https://tmashininisekgoto.vercel.app/blog</link>
    <description>Writing about AI systems, data science, distributed computing, and building production ML at scale.</description>
    <language>en</language>
    <lastBuildDate>Mon, 29 Jun 2026 08:58:33 GMT</lastBuildDate>
    <atom:link href="https://tmashininisekgoto.vercel.app/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>How I Actually Used AI to Build This Site (It's Not What You Think)</title>
      <link>https://tmashininisekgoto.vercel.app/blog/how-i-used-ai-to-build-this-site</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/how-i-used-ai-to-build-this-site</guid>
      <description>Most people use AI like a search engine. I used it like a senior engineer sitting next to me. Here's how I built a full production website without knowing Next.js, and what &quot;vibe coding&quot; actually looks like when you do it right.</description>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <category>ai</category>
      <category>engineering</category>
      <category>claude code</category>
      <category>web development</category>
      <category>behind the scenes</category>
    </item>
    <item>
      <title>Ubunye Engine Part 5: Building With an Agent. The Real Numbers</title>
      <link>https://tmashininisekgoto.vercel.app/blog/ubunye-series-part5-building-with-agent</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/ubunye-series-part5-building-with-agent</guid>
      <description>This project was built with an AI coding agent as a collaborator throughout. The numbers tell a story that the AI industry mostly avoids having. Here they are.</description>
      <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
      <category>open source</category>
      <category>engineering</category>
      <category>python</category>
      <category>agentic ai</category>
      <category>ubunye series</category>
    </item>
    <item>
      <title>Ubunye Engine Part 4: From Kaggle to Production</title>
      <link>https://tmashininisekgoto.vercel.app/blog/ubunye-series-part4-kaggle-to-production</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/ubunye-series-part4-kaggle-to-production</guid>
      <description>After all the unit tests and CI pipelines, the question remained: does it actually work on real data? The Kaggle Titanic dataset became the proving ground. This post covers what it proved, what it did not, and how Ubunye compares to existing frameworks.</description>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <category>open source</category>
      <category>engineering</category>
      <category>python</category>
      <category>mlops</category>
      <category>ubunye series</category>
    </item>
    <item>
      <title>Ubunye Engine Part 3: The Boring Work That Ships Software</title>
      <link>https://tmashininisekgoto.vercel.app/blog/ubunye-series-part3-boring-work</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/ubunye-series-part3-boring-work</guid>
      <description>Documentation, CI/CD, PyPI publishing, and the subtle bugs that live in single lines of code. The thesis is simple: finishing is rarer than starting, and the boring work is what separates a repository from a product.</description>
      <pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate>
      <category>open source</category>
      <category>engineering</category>
      <category>python</category>
      <category>mlops</category>
      <category>ubunye series</category>
      <category>ci/cd</category>
    </item>
    <item>
      <title>The Modern Data Scientist: A Roadmap for the Age of AI Agents</title>
      <link>https://tmashininisekgoto.vercel.app/blog/modern-data-scientist-roadmap</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/modern-data-scientist-roadmap</guid>
      <description>The job hasn't disappeared. The mental model has changed. Here's what the roadmap looks like for data scientists and engineers entering (or navigating) the AI agent era, with a South African lens.</description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <category>career</category>
      <category>data science</category>
      <category>mlops</category>
      <category>ai agents</category>
      <category>south africa</category>
    </item>
    <item>
      <title>Ubunye Engine Part 2: The Model Registry and Hexagonal Architecture</title>
      <link>https://tmashininisekgoto.vercel.app/blog/ubunye-series-part2-model-registry</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/ubunye-series-part2-model-registry</guid>
      <description>The model registry was where the project went from interesting framework to something a team could actually use in production. The design principle behind it turned out to be the most significant architectural decision in the entire project.</description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <category>open source</category>
      <category>engineering</category>
      <category>python</category>
      <category>mlops</category>
      <category>ubunye series</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Ubunye Engine Part 1: Why Convention Is the Real Deliverable</title>
      <link>https://tmashininisekgoto.vercel.app/blog/ubunye-series-part1-why-convention</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/ubunye-series-part1-why-convention</guid>
      <description>Every data team eventually hits the same wall. Notebooks work locally. Spark jobs work on the cluster. Nothing works together. This is the problem Ubunye Engine was built to solve.</description>
      <pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate>
      <category>open source</category>
      <category>engineering</category>
      <category>python</category>
      <category>mlops</category>
      <category>ubunye series</category>
    </item>
    <item>
      <title>How I Learned to Build My Own Python Libraries (From Curiosity to Real Work)</title>
      <link>https://tmashininisekgoto.vercel.app/blog/how-to-build-python-packages</link>
      <guid isPermaLink="true">https://tmashininisekgoto.vercel.app/blog/how-to-build-python-packages</guid>
      <description>creating from 1st principles</description>
      <pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate>
      <category>open source</category>
      <category>systems</category>
      <category>python</category>
    </item>
  </channel>
</rss>