<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: nerudek_vibecoder</title>
    <description>The latest articles on DEV Community by nerudek_vibecoder (@nerudek).</description>
    <link>https://dev.to/nerudek</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3911043%2F749ae78c-8126-4bf2-9584-fdf822aa4973.png</url>
      <title>DEV Community: nerudek_vibecoder</title>
      <link>https://dev.to/nerudek</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nerudek"/>
    <language>en</language>
    <item>
      <title>400 Million Tokens Burned Overnight</title>
      <dc:creator>nerudek_vibecoder</dc:creator>
      <pubDate>Mon, 25 May 2026 11:26:05 +0000</pubDate>
      <link>https://dev.to/nerudek/400-million-tokens-burned-overnight-5bbg</link>
      <guid>https://dev.to/nerudek/400-million-tokens-burned-overnight-5bbg</guid>
      <description>&lt;h1&gt;
  
  
  400 Million Tokens Burned Overnight
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0jkk5u9b8nfjhc8z58r9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0jkk5u9b8nfjhc8z58r9.png" alt="Cover" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;5,080 API requests. Everything looked normal.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  My Heart Stopped At 8:03 AM
&lt;/h2&gt;

&lt;p&gt;Sunday, May 24, 2026.&lt;/p&gt;

&lt;p&gt;I opened the API dashboard and my stomach dropped.&lt;/p&gt;

&lt;p&gt;262 million input tokens consumed in a single day.&lt;/p&gt;

&lt;p&gt;For context: a normal heavy day for my multi-agent system — with 4 AI agents coordinating through NATS, processing configs, moving files, training models, and handling orchestration tasks — usually burns around 100 million tokens.&lt;/p&gt;

&lt;p&gt;This was nearly triple that.&lt;/p&gt;

&lt;p&gt;And the day wasn't even over.&lt;/p&gt;

&lt;p&gt;The next morning, May 25, before coffee, I checked again.&lt;/p&gt;

&lt;p&gt;Another 134 million input tokens had been consumed overnight.&lt;/p&gt;

&lt;p&gt;Total damage:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Input tokens&lt;/td&gt;
&lt;td&gt;~400 million&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output tokens&lt;/td&gt;
&lt;td&gt;~3 million&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API requests&lt;/td&gt;
&lt;td&gt;5,080&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Runtime&lt;/td&gt;
&lt;td&gt;~15 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;My first thought:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"How much did this cost?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;My second thought:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Please let it be DeepSeek connected to production. Please."&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Happened
&lt;/h2&gt;

&lt;p&gt;An orchestrator agent running on a Mac Mini M4 discovered a new agent on the network.&lt;/p&gt;

&lt;p&gt;A secondary agent had just come online on a Linux machine with an RTX 3090 GPU.&lt;/p&gt;

&lt;p&gt;Following standard onboarding protocol, the orchestrator sent a welcome message through NATS along with onboarding documentation and initialization context.&lt;/p&gt;

&lt;p&gt;That message was correct.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It never stopped sending it.&lt;/p&gt;

&lt;p&gt;Every 60-90 seconds, the orchestrator re-sent the same onboarding payload.&lt;/p&gt;

&lt;p&gt;The NATS-to-Hermes bridge service faithfully forwarded every incoming message to Hermes for processing.&lt;/p&gt;

&lt;p&gt;Each forwarded message spawned a fresh agent session.&lt;/p&gt;

&lt;p&gt;And every session loaded the full startup context:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HARNESS&lt;/li&gt;
&lt;li&gt;system prompt&lt;/li&gt;
&lt;li&gt;constitution&lt;/li&gt;
&lt;li&gt;agent memory&lt;/li&gt;
&lt;li&gt;tool registry&lt;/li&gt;
&lt;li&gt;onboarding guides&lt;/li&gt;
&lt;li&gt;skill manifests&lt;/li&gt;
&lt;li&gt;runtime instructions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thousands of tokens.&lt;/p&gt;

&lt;p&gt;Every single time.&lt;/p&gt;

&lt;p&gt;The session processed the message, generated a response, exited, and waited for the next event.&lt;/p&gt;

&lt;p&gt;Then another identical onboarding message arrived.&lt;/p&gt;

&lt;p&gt;Another session spawned.&lt;/p&gt;

&lt;p&gt;Another full context load.&lt;/p&gt;

&lt;p&gt;Again. And again. And again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5,080 times in roughly 15 hours.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The terrifying part
&lt;/h2&gt;

&lt;p&gt;Nothing looked broken.&lt;/p&gt;

&lt;p&gt;The agents responded normally. No crashes. No red alerts. No failing health checks.&lt;/p&gt;

&lt;p&gt;From the outside, the system appeared healthy.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Nobody Noticed
&lt;/h2&gt;

&lt;p&gt;For 15 hours, the loop quietly burned tokens in the background.&lt;/p&gt;

&lt;p&gt;Several things made it unusually hard to detect:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The system was technically "working"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Messages flowed correctly. Agents replied correctly. Tasks completed successfully. Nothing visibly failed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Agent startup is deceptively expensive&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most of the burn came from repeatedly loading massive context windows — not model outputs. Every new session loaded the full orchestration environment before doing any work. A tiny onboarding ping triggered tens of thousands of input tokens. Over and over.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Session budgets didn't help&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each individual session stayed within limits. But the loop continuously spawned brand-new sessions. Per-session token limits are useless if you accidentally create infinite sessions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Rate limiting didn't help either&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even with request throttling, every request still consumed context tokens. A slow infinite loop is still an infinite loop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Monitoring lagged behind reality&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We checked usage dashboards manually. Once per day. By the time we saw the spike, the loop had already been running all night.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Killing the process didn't stop it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The bridge daemon was managed by launchd. Killing the process simply restarted it automatically. We had to unload the daemon entirely before the loop finally stopped.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Root Cause
&lt;/h2&gt;

&lt;p&gt;The issue came from an ugly interaction between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;network discovery&lt;/li&gt;
&lt;li&gt;onboarding retries&lt;/li&gt;
&lt;li&gt;and a bridge with no deduplication layer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The secondary agent had unstable connectivity during onboarding. It repeatedly appeared and disappeared from the network. Each rediscovery triggered another "welcome" event. The bridge forwarded every event blindly. Hermes processed each one as brand-new.&lt;/p&gt;

&lt;p&gt;Positive feedback loop:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Onboarding event
    ↓
NATS message
    ↓
Bridge forwards event
    ↓
Hermes session spawns
    ↓
Context loads
    ↓
Response generated
    ↓
Network rediscovery
    ↓
Onboarding event again
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Repeat for 15 hours.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Fix
&lt;/h2&gt;

&lt;p&gt;The actual fix was surprisingly small. Three changes stopped the entire cascade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Message deduplication&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The critical fix. The bridge now hashes incoming onboarding payloads and ignores duplicates within a cooldown window.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Session spawn protection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Repeated onboarding events from the same agent are now collapsed into a single active session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Real-time token monitoring&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We added live token-rate alerts instead of daily dashboard checks. If token velocity spikes abnormally, the bridge now alerts immediately.&lt;/p&gt;

&lt;p&gt;Full implementation: &lt;a href="https://github.com/nerudek/nats-agent-state-sharing/tree/main/bridge" rel="noopener noreferrer"&gt;github.com/nerudek/nats-agent-state-sharing/tree/main/bridge&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Cost
&lt;/h2&gt;

&lt;p&gt;Now for the part that genuinely scared me.&lt;/p&gt;

&lt;p&gt;I calculated what this exact same bug would have cost across different providers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The bug was identical. Only the API provider changed.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Estimated Cost&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic Claude Sonnet&lt;/td&gt;
&lt;td&gt;~$1,245&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAI GPT-5-class pricing&lt;/td&gt;
&lt;td&gt;~$2,090&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Moonshot Kimi&lt;/td&gt;
&lt;td&gt;~$392&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DeepSeek&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$22.97&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That's the moment I finally exhaled.&lt;/p&gt;

&lt;p&gt;The engineering mistake was real. The token burn was real. The 400 million tokens were very real.&lt;/p&gt;

&lt;p&gt;But the provider choice was the difference between:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Well... that was horrifying"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"We need to explain this to accounting."&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;AI agent systems fail differently than traditional software.&lt;/p&gt;

&lt;p&gt;The dangerous bugs are not always crashes. Sometimes the system works perfectly while silently setting money on fire.&lt;/p&gt;

&lt;p&gt;And once you start chaining together: autonomous agents, bridges, retries, onboarding protocols, daemon restarts, and massive context windows — tiny logic mistakes become infrastructure-scale problems surprisingly fast.&lt;/p&gt;

&lt;p&gt;One missing deduplication check created:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;5,080 requests&lt;/li&gt;
&lt;li&gt;~400 million input tokens&lt;/li&gt;
&lt;li&gt;and 15 hours of invisible burn&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The scariest part?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;From the outside, everything looked normal.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;If this saved you time: &lt;a href="https://www.paypal.me/nerudek" rel="noopener noreferrer"&gt;PayPal.me/nerudek&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/nerudek" rel="noopener noreferrer"&gt;github.com/nerudek&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Hermes Loop Protection Fix:&lt;/strong&gt; &lt;a href="https://github.com/nerudek/nats-agent-state-sharing/tree/main/bridge" rel="noopener noreferrer"&gt;github.com/nerudek/nats-agent-state-sharing/tree/main/bridge&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Receipts
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipkv74c2hb64ubvx4xng.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipkv74c2hb64ubvx4xng.jpg" alt="May 24 — 262 million input tokens" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkc1yr3ovkx5s6qxga5ed.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkc1yr3ovkx5s6qxga5ed.jpg" alt="May 25 — 134 million more by morning" width="800" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>deepseek</category>
      <category>debugging</category>
      <category>postmortem</category>
    </item>
    <item>
      <title>How I Built a Multi-Model AI Council That Runs on a Mac Mini</title>
      <dc:creator>nerudek_vibecoder</dc:creator>
      <pubDate>Sun, 03 May 2026 23:43:51 +0000</pubDate>
      <link>https://dev.to/nerudek/how-i-built-a-multi-model-ai-council-that-runs-on-a-mac-mini-49b8</link>
      <guid>https://dev.to/nerudek/how-i-built-a-multi-model-ai-council-that-runs-on-a-mac-mini-49b8</guid>
      <description>&lt;h1&gt;
  
  
  How I Built a Multi-Model AI Council That Runs on a Mac Mini
&lt;/h1&gt;

&lt;p&gt;I run 4 AI agents (Claude Code, OpenClaw, Hermes/DeepSeek, LM Studio) on a single Mac Mini M4 with 32GB RAM. They share memory through Obsidian + ChromaDB, communicate via ACP bridge, and delegate tasks using a tiered hierarchy. Here's what actually works and what breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Orchestrator&lt;/strong&gt;: DeepSeek V4 Pro (API) — plans, delegates, communicates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architect&lt;/strong&gt;: Claude Code — design decisions, code review&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workers&lt;/strong&gt;: LM Studio with qwen3.5-27b — heavy coding, research&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory&lt;/strong&gt;: Obsidian vault + MemPalace (ChromaDB) — shared across all agents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Communication&lt;/strong&gt;: acpx bridge — &lt;code&gt;npx acpx claude exec "message"&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Hard Part: RAM At 32GB
&lt;/h2&gt;

&lt;p&gt;32GB minus ~7GB for macOS = 25GB usable. One large model (~22GB) leaves almost nothing for subagents. The solution: cloud orchestrator (DeepSeek) + local workers. The orchestrator costs ~$3/month in API tokens. Workers cost electricity (which runs anyway).&lt;/p&gt;

&lt;h2&gt;
  
  
  Arena Council: Multi-Model Voting
&lt;/h2&gt;

&lt;p&gt;When one model isn't enough, I run 3-5 local models in parallel and let them vote. Each model gets the same query, responses are scored, and the best one wins. It's like having a panel of experts instead of one.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# 5 models, 1 answer
&lt;/span&gt;&lt;span class="n"&gt;council&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ArenaCouncil&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;qwen-27b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;qwen-35b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mistral-7b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;llama-8b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;qwen-9b&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;council&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Should I refactor this monorepo?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# → 3/5 say yes → majority wins
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All local, all free (beyond electricity).&lt;/p&gt;

&lt;h2&gt;
  
  
  What Broke (And How I Fixed It)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Sandbox mode&lt;/strong&gt; — killed symlinks to external drive. Disabled it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LM Studio kernel panics&lt;/strong&gt; — loading 2 large models simultaneously on M4 GPU. Now max 1 large model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Doctor --repair&lt;/strong&gt; — overwrote config files. Now backup before any repair.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lobotomy&lt;/strong&gt; — agent overwrote its own personality file. Added file-level write protection.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Full story + code: &lt;a href="https://github.com/nerudek" rel="noopener noreferrer"&gt;github.com/nerudek&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If this saved you time: &lt;a href="https://www.paypal.me/nerudek" rel="noopener noreferrer"&gt;☕ PayPal.me/nerudek&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>llm</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
