<?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: Mymoon Shaik</title>
    <description>The latest articles on DEV Community by Mymoon Shaik (@mymoon_shaik_d81741581295).</description>
    <link>https://dev.to/mymoon_shaik_d81741581295</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%2F3958804%2Ff3660ce6-ac13-439f-9ddd-81676ca7e6fc.png</url>
      <title>DEV Community: Mymoon Shaik</title>
      <link>https://dev.to/mymoon_shaik_d81741581295</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mymoon_shaik_d81741581295"/>
    <language>en</language>
    <item>
      <title>How we Built RootLens: An AI Root Cause Analysis System Using Coral SQL</title>
      <dc:creator>Mymoon Shaik</dc:creator>
      <pubDate>Fri, 29 May 2026 16:24:55 +0000</pubDate>
      <link>https://dev.to/mymoon_shaik_d81741581295/how-we-built-rootlens-an-ai-root-cause-analysis-system-using-coral-sql-5hcj</link>
      <guid>https://dev.to/mymoon_shaik_d81741581295/how-we-built-rootlens-an-ai-root-cause-analysis-system-using-coral-sql-5hcj</guid>
      <description>&lt;p&gt;🚨 Introduction: The Problem Every Engineer Faces&lt;/p&gt;

&lt;p&gt;Every engineering team eventually hits the same painful wall—production incidents.&lt;/p&gt;

&lt;p&gt;A service goes down. Alerts fire everywhere. Logs, dashboards, and notifications start flooding in.&lt;/p&gt;

&lt;p&gt;And suddenly, engineers are doing this:&lt;/p&gt;

&lt;p&gt;Opening Sentry to check errors&lt;br&gt;
Jumping to Datadog for metrics&lt;br&gt;
Searching GitHub for recent deployments&lt;br&gt;
Scrolling Slack for “what changed?” messages&lt;/p&gt;

&lt;p&gt;Each tool holds a piece of the truth, but none of them connect the dots.&lt;/p&gt;

&lt;p&gt;The real problem is not lack of data.&lt;br&gt;
It is fragmentation.&lt;/p&gt;

&lt;p&gt;Root cause analysis becomes a manual, stressful, and time-consuming process that can easily take 30–60 minutes per incident.&lt;/p&gt;

&lt;p&gt;I wanted to fix that.&lt;/p&gt;

&lt;p&gt;💡 The Idea: What if AI Could Do RCA in Seconds?&lt;/p&gt;

&lt;p&gt;The core idea behind RootLens is simple:&lt;/p&gt;

&lt;p&gt;What if we could automatically connect all engineering signals and identify the root cause of an incident instantly?&lt;/p&gt;

&lt;p&gt;Instead of engineers manually correlating data, an AI system should:&lt;/p&gt;

&lt;p&gt;Detect recent deployments&lt;br&gt;
Match them with error spikes&lt;br&gt;
Correlate with infrastructure metrics&lt;br&gt;
Read incident discussions&lt;br&gt;
And produce a final root cause report&lt;/p&gt;

&lt;p&gt;That is how RootLens was born.&lt;/p&gt;

&lt;p&gt;⚙️ What is RootLens?&lt;/p&gt;

&lt;p&gt;RootLens is an AI-powered root cause analysis agent that automatically identifies the most likely cause of production incidents.&lt;/p&gt;

&lt;p&gt;It connects:&lt;/p&gt;

&lt;p&gt;GitHub → Pull requests &amp;amp; commits&lt;br&gt;
Sentry → Errors &amp;amp; stack traces&lt;br&gt;
Datadog → System metrics&lt;br&gt;
Slack → Incident conversations&lt;/p&gt;

&lt;p&gt;And produces a complete incident breakdown in under 10 seconds.&lt;/p&gt;

&lt;p&gt;🏗️ Architecture: How RootLens Works&lt;/p&gt;

&lt;p&gt;At a high level, RootLens follows this pipeline:&lt;/p&gt;

&lt;p&gt;Incident Triggered&lt;br&gt;
        ↓&lt;br&gt;
RootLens AI Agent&lt;br&gt;
        ↓&lt;br&gt;
        CORAL SQL LAYER&lt;br&gt;
        ↓&lt;br&gt;
GitHub ─ Sentry ─ Datadog ─ Slack&lt;br&gt;
        ↓&lt;br&gt;
Cross-Source JOIN Query&lt;br&gt;
        ↓&lt;br&gt;
AI Analysis (LLM)&lt;br&gt;
        ↓&lt;br&gt;
Root Cause Report + Dashboard&lt;/p&gt;

&lt;p&gt;The most important component in this system is Coral.&lt;/p&gt;

&lt;p&gt;🧠 The Core Innovation: Coral SQL Layer&lt;/p&gt;

&lt;p&gt;Without Coral, building this system would require:&lt;/p&gt;

&lt;p&gt;Writing 4 separate API integrations&lt;br&gt;
Handling authentication for each tool&lt;br&gt;
Managing pagination and rate limits&lt;br&gt;
Normalizing inconsistent schemas&lt;br&gt;
Writing custom logic to join data&lt;/p&gt;

&lt;p&gt;This is weeks of engineering effort.&lt;/p&gt;

&lt;p&gt;With Coral, everything changes.&lt;/p&gt;

&lt;p&gt;We use a single SQL query across all systems.&lt;/p&gt;

&lt;p&gt;🧪 Example: Root Cause Query&lt;/p&gt;

&lt;p&gt;Here is the core query powering RootLens:&lt;/p&gt;

&lt;p&gt;SELECT&lt;br&gt;
  g.title AS pr_title,&lt;br&gt;
  g.author AS pr_author,&lt;br&gt;
  g.merged_at AS deploy_time,&lt;br&gt;
  s.error_message AS first_error,&lt;br&gt;
  s.first_seen AS error_start,&lt;br&gt;
  DATEDIFF('minute', g.merged_at, s.first_seen) AS minutes_to_failure,&lt;br&gt;
  d.cpu_spike AS cpu_at_incident,&lt;br&gt;
  d.error_rate AS error_rate_percent,&lt;br&gt;
  sl.text AS team_discussion,&lt;br&gt;
  sl.author AS who_responded&lt;/p&gt;

&lt;p&gt;FROM github.pull_requests g&lt;/p&gt;

&lt;p&gt;JOIN sentry.issues s&lt;br&gt;
  ON s.first_seen BETWEEN g.merged_at AND DATEADD('hour', 1, g.merged_at)&lt;br&gt;
  AND s.level = 'fatal'&lt;/p&gt;

&lt;p&gt;JOIN datadog.metrics d&lt;br&gt;
  ON d.timestamp BETWEEN g.merged_at AND s.first_seen&lt;br&gt;
  AND d.service = g.repository&lt;/p&gt;

&lt;p&gt;JOIN slack.messages sl&lt;br&gt;
  ON sl.channel = '#incidents'&lt;br&gt;
  AND sl.timestamp &amp;gt;= s.first_seen&lt;br&gt;
  AND sl.timestamp &amp;lt;= DATEADD('hour', 2, s.first_seen)&lt;/p&gt;

&lt;p&gt;WHERE g.merged_at &amp;gt;= DATEADD('hour', -2, NOW())&lt;/p&gt;

&lt;p&gt;ORDER BY minutes_to_failure ASC&lt;br&gt;
LIMIT 1;&lt;/p&gt;

&lt;p&gt;This single query:&lt;/p&gt;

&lt;p&gt;Finds recent deployments&lt;br&gt;
Correlates them with fatal errors&lt;br&gt;
Matches system metric spikes&lt;br&gt;
Pulls incident conversation context&lt;br&gt;
Ranks the most likely root cause&lt;br&gt;
🧩 How Coral Makes This Possible&lt;/p&gt;

&lt;p&gt;Coral acts as a cross-source query engine.&lt;/p&gt;

&lt;p&gt;It handles:&lt;/p&gt;

&lt;p&gt;🔐 Authentication across tools&lt;br&gt;
📄 Schema mapping between systems&lt;br&gt;
📦 Pagination automatically&lt;br&gt;
🔗 Cross-source JOIN execution&lt;br&gt;
⚡ Returning clean structured data&lt;/p&gt;

&lt;p&gt;Instead of raw API noise, the AI receives ready-to-analyze structured context.&lt;/p&gt;

&lt;p&gt;This is critical.&lt;/p&gt;

&lt;p&gt;Because without structured data, LLMs would struggle to reliably correlate signals.&lt;/p&gt;

&lt;p&gt;🚀 Demo Flow: What Happens in Real Time&lt;br&gt;
A PR is merged (e.g., Redis config change)&lt;br&gt;
System starts failing&lt;br&gt;
Sentry reports fatal errors&lt;br&gt;
Datadog shows CPU spike&lt;br&gt;
Slack channel lights up with alerts&lt;br&gt;
RootLens runs Coral query&lt;br&gt;
AI analyzes the result&lt;br&gt;
Root cause report is generated&lt;/p&gt;

&lt;p&gt;Output includes:&lt;/p&gt;

&lt;p&gt;guilty PR&lt;br&gt;
first error trace&lt;br&gt;
system metrics spike&lt;br&gt;
Slack discussion context&lt;br&gt;
confidence score&lt;/p&gt;

&lt;p&gt;All in under 10 seconds.&lt;/p&gt;

&lt;p&gt;📊 Impact: Before vs After RootLens&lt;br&gt;
Metric  Before  After&lt;br&gt;
Time to root cause  30–60 min &amp;lt; 10 sec&lt;br&gt;
Tools opened    4–6   0&lt;br&gt;
Context switching   High    None&lt;br&gt;
Postmortem writing  Manual  Auto-generated&lt;br&gt;
Engineer stress High    Low&lt;br&gt;
🔥 Key Learnings&lt;/p&gt;

&lt;p&gt;Building RootLens taught me:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Observability data is powerful—but fragmented&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each tool holds critical context, but none of them talk to each other.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Correlation is harder than detection&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Detecting errors is easy. Linking them to deployments is the real challenge.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AI is only as good as its context&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Structured, joined data dramatically improves LLM reasoning.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Unified query layers change everything&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Coral transforms multi-system complexity into a single query interface.&lt;/p&gt;

&lt;p&gt;🧭 Final Thoughts&lt;/p&gt;

&lt;p&gt;RootLens is not just an AI tool.&lt;/p&gt;

&lt;p&gt;It is a shift in how we think about debugging production systems.&lt;/p&gt;

&lt;p&gt;Instead of manually hunting for root causes, we can now ask:&lt;/p&gt;

&lt;p&gt;“What broke and why?”&lt;/p&gt;

&lt;p&gt;And get a precise answer in seconds.&lt;/p&gt;

&lt;p&gt;That is the future of incident analysis.&lt;/p&gt;

&lt;p&gt;🏴‍☠️ Built for&lt;/p&gt;

&lt;p&gt;Pirates of the Coral-bean Hackathon&lt;br&gt;
Track: Enterprise Agent&lt;br&gt;
Powered by Coral SQL&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
