<?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: Abdullah Ahmad</title>
    <description>The latest articles on DEV Community by Abdullah Ahmad (@abdullah_sethi_a9ac97879e).</description>
    <link>https://dev.to/abdullah_sethi_a9ac97879e</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4081798%2F140910ce-78fb-4ce5-8076-d2324fa78e01.jpg</url>
      <title>DEV Community: Abdullah Ahmad</title>
      <link>https://dev.to/abdullah_sethi_a9ac97879e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abdullah_sethi_a9ac97879e"/>
    <language>en</language>
    <item>
      <title>I built a RAG evaluation tool that catches failures RAGAS misses</title>
      <dc:creator>Abdullah Ahmad</dc:creator>
      <pubDate>Mon, 17 Aug 2026 14:33:21 +0000</pubDate>
      <link>https://dev.to/abdullah_sethi_a9ac97879e/i-built-a-rag-evaluation-tool-that-catches-failures-ragas-misses-2jcc</link>
      <guid>https://dev.to/abdullah_sethi_a9ac97879e/i-built-a-rag-evaluation-tool-that-catches-failures-ragas-misses-2jcc</guid>
      <description>&lt;p&gt;I spent 6 weeks building RAG Sentinel – an open-source evaluation tool for RAG systems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; RAGAS scored my RAG system 0.91. But it was still hallucinating citations and ignoring half the retrieved context.&lt;/p&gt;

&lt;p&gt;RAGAS doesn't answer the questions I actually cared about:&lt;/p&gt;

&lt;p&gt;→ Does the answer actually USE the retrieved documents?&lt;br&gt;
→ Do the citations exist in the source documents?&lt;br&gt;
→ Does the answer contradict its own sources?&lt;br&gt;
→ Is the system's confidence actually accurate?&lt;/p&gt;

&lt;p&gt;So I built 5 custom metrics to measure exactly these.&lt;/p&gt;




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

&lt;p&gt;&lt;strong&gt;RAG Sentinel&lt;/strong&gt; is a production-ready evaluation platform that goes beyond RAGAS with:&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Retrieval-Generation Alignment&lt;/strong&gt; – Does the answer actually use the retrieved docs? RAGAS faithfulness can score 0.9 even if half the context is ignored.&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Citation Accuracy&lt;/strong&gt; – Do citations actually exist in the source documents? Or are they hallucinated?&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Context Contradiction&lt;/strong&gt; – Does the answer contradict its own sources? Standard metrics don't check for this.&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Confidence Calibration&lt;/strong&gt; – When the system says "90% sure," is it actually right 90% of the time?&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Production Monitoring Dashboard&lt;/strong&gt; – Track quality trends. Detect degradation before users notice.&lt;/p&gt;




&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Backend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;FastAPI (Python)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Frontend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;React (Netlify)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LLM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Groq (openai/gpt-oss-120b)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Railway (backend) + Netlify (frontend)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  The Hard Parts
&lt;/h3&gt;

&lt;p&gt;The code took ~2 weeks. Getting it deployed took ~4.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CORS preflight errors:&lt;/strong&gt; 3 days&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PostgreSQL misconfiguration:&lt;/strong&gt; 2 days&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM API deprecated mid-project:&lt;/strong&gt; Rewrote the evaluation pipeline entirely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's where I learned the real difference between "works on my laptop" and "someone can actually use it."&lt;/p&gt;




&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;p&gt;🔸 Building systems &amp;gt; building chatbots. Anyone can call an API. Building a monitoring platform is harder but way more valuable.&lt;/p&gt;

&lt;p&gt;🔸 Deployment is 50% of the work. The code is the easy part. Making it work in production is where the real learning happens.&lt;/p&gt;

&lt;p&gt;🔸 Ship. Then iterate. I deployed with basic features, added more as I went. If I'd waited for "perfection," I'd still be coding.&lt;/p&gt;




&lt;h3&gt;
  
  
  Links
&lt;/h3&gt;

&lt;p&gt;🔗&lt;strong&gt;Linked In:&lt;/strong&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7495058202019938307/" rel="noopener noreferrer"&gt;https://www.linkedin.com/feed/update/urn:li:activity:7495058202019938307/&lt;/a&gt;&lt;br&gt;
🔗 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://rag-sentinel.netlify.app" rel="noopener noreferrer"&gt;https://rag-sentinel.netlify.app&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🔗 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Abdullah-Ahmad-2025/rag-sentinel" rel="noopener noreferrer"&gt;https://github.com/Abdullah-Ahmad-2025/rag-sentinel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Built solo. 1st-year BS AI student. 6 weeks.&lt;/p&gt;

&lt;p&gt;If you're building RAG systems – I'd genuinely love your feedback. What metrics do you actually care about?&lt;/p&gt;

</description>
      <category>rag</category>
      <category>llm</category>
      <category>fastapi</category>
      <category>react</category>
    </item>
  </channel>
</rss>
