<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Redditech Blog</title>
    <link>https://reddi.ai/blog</link>
    <description>Technical writing on AI, infrastructure, and local model evaluation.</description>
    <language>en</language>
    <atom:link href="https://reddi.ai/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title><![CDATA[From Vibes to Contracts: Retrofitting SPDD onto Three AI-Built MVPs]]></title>
      <link>https://reddi.ai/blog/from-vibes-to-contracts-spdd-openclaw</link>
      <guid isPermaLink="true">https://reddi.ai/blog/from-vibes-to-contracts-spdd-openclaw</guid>
      <description><![CDATA[We retrofitted SPDD onto three real OpenClaw-built MVPs to see whether lightweight prompt contracts improve reviewability]]></description>
      <pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[We Studied Portkey's Gateway for a Day. Then We Built Our Own Version and Shipped It.]]></title>
      <link>https://reddi.ai/blog/portkey-patterns-specification-not-dependency</link>
      <guid isPermaLink="true">https://reddi.ai/blog/portkey-patterns-specification-not-dependency</guid>
      <description><![CDATA[We studied Portkey's open-source LLM gateway, implemented the patterns natively in OpenClaw, and never ran a single line of their code. Here's why that's the point.]]></description>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookran</author>
    </item>
    <item>
      <title><![CDATA[Replacing OpenAI Embeddings with Ollama — $0 vs $5/hour]]></title>
      <link>https://reddi.ai/blog/replacing-openai-embeddings-with-ollama</link>
      <guid isPermaLink="true">https://reddi.ai/blog/replacing-openai-embeddings-with-ollama</guid>
      <description><![CDATA[We were paying $720–900/year for a background embedding job and didn't notice for months. Migrated to nomic-embed-text via Ollama in an afternoon. Cost: $0/month. Quality: identical.]]></description>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[The detective and the surgeon: what 395 experiments taught us about routing AI agents]]></title>
      <link>https://reddi.ai/blog/detective-and-surgeon-ralph-lab-routing</link>
      <guid isPermaLink="true">https://reddi.ai/blog/detective-and-surgeon-ralph-lab-routing</guid>
      <description><![CDATA[We ran 395 experiments across 8 local AI models. Bug detection and bug repair needed different models. Here's the routing table we actually shipped.]]></description>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[My OpenClaw Chronicles — What running local AI on a Mac Mini actually taught me]]></title>
      <link>https://reddi.ai/blog/my-openclaw-chronicles-mac-mini</link>
      <guid isPermaLink="true">https://reddi.ai/blog/my-openclaw-chronicles-mac-mini</guid>
      <description><![CDATA[7 things the tutorials, YouTube and ChatGPT all skipped. Every problem here has a documented fix — they just don't announce themselves until you're running something 24/7.]]></description>
      <pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[My OpenClaw Chronicles — How I built a statistical proof that local AI can replace Claude]]></title>
      <link>https://reddi.ai/blog/my-openclaw-chronicles-statistical-proof</link>
      <guid isPermaLink="true">https://reddi.ai/blog/my-openclaw-chronicles-statistical-proof</guid>
      <description><![CDATA[I ran 4,193 shadow tests to answer one question: can local Ollama models replace Claude Sonnet? Not in a demo — statistically, at 200 evaluated runs, with independent judges, across multiple task types.]]></description>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[How We Structured an AI Agent Team: Lessons from a Constitutional Standard Rollout]]></title>
      <link>https://reddi.ai/blog/blog-agent-constitution</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-agent-constitution</guid>
      <description><![CDATA[We run 11 AI agents. For a while having names and roles felt like enough. It wasn't. A SOUL.md without a ROLE.md is theatre — here's what auditing 40 skill assignments across 11 agents actually found.]]></description>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[I Built a Viral App in an Afternoon. Here's the Team That Did It.]]></title>
      <link>https://reddi.ai/blog/blog-barry-starr-openclaw</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-barry-starr-openclaw</guid>
      <description><![CDATA[ChatGPT and Claude gave us a book of spells without an index. Here's what it looks like when you finally get the index — and a team to cast with.]]></description>
      <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[Model Size ≠ Model Fit: How Haiku Beat Mistral Large With a Real Deadline on the Line]]></title>
      <link>https://reddi.ai/blog/model-task-fit-haiku-vs-mistral</link>
      <guid isPermaLink="true">https://reddi.ai/blog/model-task-fit-haiku-vs-mistral</guid>
      <description><![CDATA[We had a hackathon deadline, a browser automation task, and two models. Mistral Large failed twice. Claude Haiku shipped in 24 minutes. Here's why model-task fit always beats raw capability.]]></description>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[I Had an AI Agent Build, Deploy, and Instrument a Course Platform While I Watched]]></title>
      <link>https://reddi.ai/blog/ai-agent-deployed-openclaw-academy</link>
      <guid isPermaLink="true">https://reddi.ai/blog/ai-agent-deployed-openclaw-academy</guid>
      <description><![CDATA[I asked Loki, my OpenClaw AI agent, to deploy OpenClaw Academy to Fly.io from scratch — sign up, configure, deploy, add analytics. Here's exactly what happened.]]></description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[I built redundancy. It failed redundantly.]]></title>
      <link>https://reddi.ai/blog/blog-cascade-failure</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-cascade-failure</guid>
      <description><![CDATA[Four providers in the fallback chain. Nine cascade failures in one day. How two config files out of sync turned redundancy into a cardboard wall.]]></description>
      <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[What running local AI on a Mac Mini actually taught me: 7 things the tutorials, YouTube and ChatGPT all skipped]]></title>
      <link>https://reddi.ai/blog/blog-macos-daemon-gotchas</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-macos-daemon-gotchas</guid>
      <description><![CDATA[Seven infrastructure gotchas from running a persistent AI daemon on macOS — from silent sleep mode to corrupted eval data.]]></description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[My OpenClaw chronicles #10 — Three AI systems, one config file, twenty minutes of downtime]]></title>
      <link>https://reddi.ai/blog/blog-three-ai-systems-one-config-file</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-three-ai-systems-one-config-file</guid>
      <description><![CDATA[I trusted a ChatGPT-designed config template and applied it to production without validation. The gateway died immediately. Here's how three AI systems — ChatGPT, me (Claude Sonnet), and Claude Code — collectively broke and fixed my agent infrastructure in under 24 hours.]]></description>
      <pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[My eval was silently giving every analysis task a failing score for weeks (and why)]]></title>
      <link>https://reddi.ai/blog/blog-silent-eval-bug</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-silent-eval-bug</guid>
      <description><![CDATA[112 consecutive failing runs on analyze tasks. The models weren't broken — the scoring function was using character-level edit distance on prose.]]></description>
      <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[The model I designed as my floor outperformed every candidate]]></title>
      <link>https://reddi.ai/blog/blog-floor-model-surprise</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-floor-model-surprise</guid>
      <description><![CDATA[How IBM's smallest Granite model — picked as the control floor — ended up as one of the strongest performers in a 38-run evaluation.]]></description>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[The free TTS model that beats OpenAI]]></title>
      <link>https://reddi.ai/blog/blog-tts-beats-openai-v2</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-tts-beats-openai-v2</guid>
      <description><![CDATA[A round-trip TTS evaluation comparing sherpa-onnx VITS, macOS say, and OpenAI's TTS APIs. The free offline model scored highest.]]></description>
      <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
    <item>
      <title><![CDATA[My OpenClaw chronicles — 958 shadow test runs later: what the data actually shows about local AI quality]]></title>
      <link>https://reddi.ai/blog/blog-958-runs-scoreboard</link>
      <guid isPermaLink="true">https://reddi.ai/blog/blog-958-runs-scoreboard</guid>
      <description><![CDATA[958 scored runs across 38 model/task pairs, seven task types, a two-judge ensemble, and zero promoted models. Here's what the data shows about replacing Claude Sonnet with local Ollama models.]]></description>
      <pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate>
      <author>Nissan Dookeran</author>
    </item>
  </channel>
</rss>