<?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: Lucas Augusto Kepler</title>
    <description>The latest articles on DEV Community by Lucas Augusto Kepler (@scrylk).</description>
    <link>https://dev.to/scrylk</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%2F3740558%2F580e629f-4df7-4e04-9c99-739a97cfdb11.jpeg</url>
      <title>DEV Community: Lucas Augusto Kepler</title>
      <link>https://dev.to/scrylk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/scrylk"/>
    <language>en</language>
    <item>
      <title>Maybe I should have read this sooner</title>
      <dc:creator>Lucas Augusto Kepler</dc:creator>
      <pubDate>Mon, 23 Feb 2026 13:55:35 +0000</pubDate>
      <link>https://dev.to/scrylk/maybe-i-should-have-read-this-sooner-2j7k</link>
      <guid>https://dev.to/scrylk/maybe-i-should-have-read-this-sooner-2j7k</guid>
      <description>&lt;p&gt;I was recently reading Eric Evans' DDD book and found a really interesting point about how we structure our code.&lt;/p&gt;

&lt;p&gt;You know how we often create a class and immediately fill it with Getters and Setters, but then leave all the actual 'logic' in separate service classes? The book calls this an Anemic Domain Model.&lt;/p&gt;

&lt;p&gt;What caught my attention was the suggestion to flip this: instead of a class that just holds data, we should strive for a Rich Domain Model. The idea is that the entity itself (like a Document or a Customer) should have methods that execute its own rules and protect its data.&lt;/p&gt;

&lt;p&gt;I confess that, by default, I always created 'empty' models and pushed the logic elsewhere. It’s curious how this simple shift in mindset brings the code much closer to true Object-Oriented Programming and prevents business rules from being scattered all over the system.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Lucas Augusto Kepler</dc:creator>
      <pubDate>Wed, 11 Feb 2026 14:59:29 +0000</pubDate>
      <link>https://dev.to/scrylk/-4ob8</link>
      <guid>https://dev.to/scrylk/-4ob8</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/richardpascoe" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F3689026%2F3359cbba-3c0a-4759-9889-0b30af7894cd.jpeg" alt="richardpascoe"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/richardpascoe/build-a-multimedia-player-3g88" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Build a Multimedia Player&lt;/h2&gt;
      &lt;h3&gt;Richard Pascoe ・ Feb 11&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#community&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#learning&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>community</category>
      <category>learning</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Refuse to Learn Flutter — And I Think That's a Mistake</title>
      <dc:creator>Lucas Augusto Kepler</dc:creator>
      <pubDate>Wed, 11 Feb 2026 14:42:14 +0000</pubDate>
      <link>https://dev.to/scrylk/i-refuse-to-learn-flutter-and-i-think-thats-a-mistake-mea</link>
      <guid>https://dev.to/scrylk/i-refuse-to-learn-flutter-and-i-think-thats-a-mistake-mea</guid>
      <description>&lt;p&gt;I'll be straightforward: I'm a React Native developer, and everything around me runs on React Native. My job, my university, the local market — it's all React and JavaScript. Flutter barely comes up in conversation.&lt;br&gt;
But I'm not blind. I see Flutter's GitHub activity growing consistently. More stars, more contributors, more packages being published every month. I see companies like Nubank — right here in Brazil — shipping production apps with it. I see the community expanding and the framework evolving fast.&lt;br&gt;
And yet, I still don't feel safe making the jump.&lt;br&gt;
Why the hesitation?&lt;br&gt;
It's not that I think Flutter is bad. It's that my entire professional foundation is built on JavaScript. React Native lets me leverage everything I already know — React patterns, the npm ecosystem, the massive pool of libraries and community answers for virtually any problem I run into.&lt;br&gt;
Dart, on the other hand, feels like starting over. New language, new paradigm, new ecosystem. And when your livelihood depends on being productive and employable, "starting over" isn't just a technical decision — it's an emotional one.&lt;br&gt;
There's also the local market reality. Where I am, React Native dominates the job listings. If I invest months learning Flutter and Dart, will that investment pay off here? Or will I just have a cool side skill that nobody's hiring for locally?&lt;/p&gt;

&lt;p&gt;Here's the thing that keeps nagging me: the global trend is clear. Flutter's adoption is climbing. Its GitHub contributions are outpacing React Native. More companies are choosing it for new projects, especially in fintech and design-heavy applications. The framework isn't just surviving — it's gaining serious ground.&lt;br&gt;
And I can't help but wonder if ignoring it is just comfortable short-term thinking. The local market today isn't necessarily the local market two years from now. Technologies shift. The developers who saw React Native coming early had a massive advantage. Am I making the same mistake by not paying attention to Flutter now?&lt;/p&gt;

&lt;p&gt;What I actually want to know&lt;br&gt;
If you made the switch from React Native to Flutter — was it worth it? Did Dart feel like a step backward or forward? How long until you felt productive?&lt;br&gt;
If you use both — how do you decide which one to pick for a project?&lt;br&gt;
And if you're in the same boat as me — watching Flutter grow but not quite ready to dive in — what's holding you back?&lt;br&gt;
Let's talk.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>community</category>
      <category>flutter</category>
      <category>react</category>
    </item>
    <item>
      <title>TechAssist: AI-Powered Assistant for IT Support Technicians</title>
      <dc:creator>Lucas Augusto Kepler</dc:creator>
      <pubDate>Fri, 06 Feb 2026 01:29:24 +0000</pubDate>
      <link>https://dev.to/scrylk/techassist-ai-powered-assistant-for-it-support-technicians-2b7c</link>
      <guid>https://dev.to/scrylk/techassist-ai-powered-assistant-for-it-support-technicians-2b7c</guid>
      <description>&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%2Finoau7ub42dx9vvc0b7o.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%2Finoau7ub42dx9vvc0b7o.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/algolia"&gt;Algolia Agent Studio Challenge&lt;/a&gt;: Consumer-Facing Conversational Experiences&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;TechAssist is an intelligent conversational assistant designed for IT support technicians during live customer calls. The system helps helpdesk analysts quickly diagnose issues and find solutions by searching through indexed documentation, historical tickets, and system information.&lt;/p&gt;

&lt;p&gt;The problem it solves: IT support teams often struggle with long resolution times because they need to manually search through multiple knowledge bases, past tickets, and documentation while keeping the customer on the line. TechAssist acts as a real-time copilot that understands the context of the issue and retrieves relevant information instantly.&lt;/p&gt;

&lt;p&gt;Key features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Contextual chat interface where technicians can describe the problem in natural language&lt;/li&gt;
&lt;li&gt;Context panel to input system details (system name, version, environment, error message)&lt;/li&gt;
&lt;li&gt;Structured diagnostic responses with actionable steps&lt;/li&gt;
&lt;li&gt;Similar tickets retrieval to show how past issues were resolved&lt;/li&gt;
&lt;li&gt;Sub-50ms search latency for real-time assistance during calls&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Live Demo: &lt;a href="https://teki-kappa.vercel.app" rel="noopener noreferrer"&gt;teki-kappa.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub Repository: &lt;a href="https://github.com/ScryLk/teki" rel="noopener noreferrer"&gt;github.com/ScryLk/teki&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Algolia Agent Studio
&lt;/h2&gt;

&lt;p&gt;Algolia Agent Studio is the core intelligence layer of TechAssist. I chose it because support technicians need instant, accurate responses grounded in real data, not hallucinated answers from a generic LLM.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Indexed
&lt;/h3&gt;

&lt;p&gt;I created four Algolia indices to serve as the knowledge base:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Index&lt;/th&gt;
&lt;th&gt;Records&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;documentacoes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;SOPs, technical manuals, and operational procedures&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;tickets&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;Historical support tickets with resolutions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sistemas&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;System information, versions, and known bugs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;solucoes&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Validated solutions uploaded by the team&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each record is structured with searchable attributes optimized for technical queries:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"objectID"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ticket_001"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"titulo"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Erro 500 no Fluig após atualização"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"descricao"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Servidor retorna HTTP 500 ao acessar processos"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sistema"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Fluig"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"causa_raiz"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Cache do Wildfly corrompido após deploy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"solucao"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1. Parar o Wildfly 2. Limpar pasta standalone/tmp 3. Reiniciar"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tags"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"fluig"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"wildfly"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"erro-500"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"cache"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"data_resolucao"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2025-12-15"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Agent Configuration
&lt;/h3&gt;

&lt;p&gt;I configured the TechAssist agent in Algolia Agent Studio with:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;System Prompt:&lt;/strong&gt; A specialized prompt that instructs the agent to act as a senior IT support specialist, always grounding responses in the indexed data and providing structured diagnostics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools:&lt;/strong&gt; Connected all four Algolia indices as search tools, allowing the agent to query documentation, tickets, systems, and solutions based on the conversation context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LLM:&lt;/strong&gt; OpenAI GPT-4 via Agent Studio for natural language understanding and response generation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Integration
&lt;/h3&gt;

&lt;p&gt;The frontend calls Algolia Agent Studio through a single API endpoint:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="s2"&gt;`https://&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;ALGOLIA_APP_ID&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.algolia.net/agent-studio/1/agents/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;AGENT_ID&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/completions`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;x-algolia-application-id&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ALGOLIA_APP_ID&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;x-algolia-api-key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ALGOLIA_API_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;messages&lt;/span&gt; &lt;span class="p"&gt;}),&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why Algolia Was the Right Choice
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Algolia Solution&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Speed during live calls&lt;/td&gt;
&lt;td&gt;Sub-50ms search latency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No hallucinations&lt;/td&gt;
&lt;td&gt;RAG grounded in indexed data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Relevance control&lt;/td&gt;
&lt;td&gt;Custom ranking and facets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Simple integration&lt;/td&gt;
&lt;td&gt;Single &lt;code&gt;/completions&lt;/code&gt; endpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The combination of fast retrieval and LLM orchestration in one API made it possible to build a responsive assistant that technicians can actually rely on during high-pressure support calls.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js 14, React, Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI/Search:&lt;/strong&gt; Algolia Agent Studio&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Indices:&lt;/strong&gt; 4 Algolia indices (documentacoes, tickets, sistemas, solucoes)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM:&lt;/strong&gt; Google Gemini 2.5 Fast (via Agent Studio)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment:&lt;/strong&gt; Vercel&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;TechAssist demonstrates how Algolia Agent Studio can power domain-specific conversational experiences where accuracy and speed are critical. By grounding the AI in structured, indexed data, the assistant provides reliable diagnostics that support teams can trust during real customer interactions.&lt;/p&gt;

&lt;p&gt;The project is open source and can be adapted for any organization that needs to empower their support teams with AI-assisted knowledge retrieval.&lt;/p&gt;




&lt;p&gt;Built with Algolia Agent Studio for the Algolia Agent Studio Challenge 2026.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>algoliachallenge</category>
      <category>ai</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
