<?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: sumit saraswat</title>
    <description>The latest articles on DEV Community by sumit saraswat (@sumit_saraswat_5f3efea77e).</description>
    <link>https://dev.to/sumit_saraswat_5f3efea77e</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%2F3933271%2F73c17b16-9a36-428b-a833-841d0d471646.png</url>
      <title>DEV Community: sumit saraswat</title>
      <link>https://dev.to/sumit_saraswat_5f3efea77e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sumit_saraswat_5f3efea77e"/>
    <language>en</language>
    <item>
      <title>I Built a Clinical AI Bias Detector With Zero Code Using MeDo</title>
      <dc:creator>sumit saraswat</dc:creator>
      <pubDate>Fri, 15 May 2026 13:35:40 +0000</pubDate>
      <link>https://dev.to/sumit_saraswat_5f3efea77e/i-built-a-clinical-ai-bias-detector-with-zero-code-using-medo-3i65</link>
      <guid>https://dev.to/sumit_saraswat_5f3efea77e/i-built-a-clinical-ai-bias-detector-with-zero-code-using-medo-3i65</guid>
      <description>&lt;h1&gt;
  
  
  I Discovered That a Cancer Prediction AI Was Using the Hospital Name — Not the Tumor — To Make Its Diagnosis. So I Built a Tool to Catch It.
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Built for the Build with MeDo Hackathon · #BuiltWithMeDo&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Moment That Changed Everything
&lt;/h2&gt;

&lt;p&gt;Last week I was studying how machine learning models are deployed in hospitals. I stumbled across a research paper that stopped me cold.&lt;/p&gt;

&lt;p&gt;A cancer prediction model — the kind that tells doctors whether a patient needs aggressive treatment — was tested across multiple hospitals. It worked brilliantly at Hospital A. Terrible at Hospital B. Same cancer. Same biology. Different results.&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The model had learned to use &lt;code&gt;hospital_site_id&lt;/code&gt; as its strongest predictor.&lt;/strong&gt; Not tumor size. Not mitotic count. Not any clinical feature that a doctor would recognize. The AI had essentially memorized which hospital a patient came from and used &lt;em&gt;that&lt;/em&gt; to predict cancer outcomes.&lt;/p&gt;

&lt;p&gt;This is called &lt;strong&gt;proxy bias&lt;/strong&gt;, and it's one of the most dangerous failure modes in clinical AI. The model looks accurate during training because hospital location correlates with outcomes (richer hospitals → better outcomes → lower risk scores). But it's not doing medicine. It's doing geography.&lt;/p&gt;

&lt;p&gt;And nobody caught it — because the model was a black box.&lt;/p&gt;

&lt;h2&gt;
  
  
  "What If I Could Build a Tool That Catches This Instantly?"
&lt;/h2&gt;

&lt;p&gt;That question became my hackathon project. I wanted to build something that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Takes any clinical ML model's prediction output&lt;/li&gt;
&lt;li&gt;Runs real mathematical analysis on which features the model actually used&lt;/li&gt;
&lt;li&gt;Flags the moment a non-clinical feature (like hospital ID or timestamp) dominates the prediction&lt;/li&gt;
&lt;li&gt;Gives clinical teams a clear, actionable compliance workflow&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The tool needed to be more than a calculator. It needed to be something a hospital data science team would open every morning. A compliance operations platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter MeDo
&lt;/h2&gt;

&lt;p&gt;I'd never built a full-stack app from scratch before. Six pages, user authentication, database persistence, an AI chat interface, drag-and-drop Kanban boards — that's a week of work for an experienced developer.&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://medo.dev/?invitecode=user-6r4myao1yeps" rel="noopener noreferrer"&gt;MeDo&lt;/a&gt;, I described what I wanted in plain English, and it scaffolded the entire thing.&lt;/p&gt;

&lt;p&gt;Here's what I told MeDo in my first prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Create a sleek, modern, full-stack medical audit dashboard with a dark mode futuristic clinical aesthetic. Include a sidebar navigation, a large JSON file drag-and-drop upload container, and a dynamic audit results section."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;MeDo generated the React frontend, the backend, the database models, and the routing — all in one shot. No boilerplate. No config files. No dependency hell.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Math That Makes It Real
&lt;/h2&gt;

&lt;p&gt;Here's where it gets technical. I didn't want a fake "AI score." I wanted &lt;strong&gt;real game-theoretic feature attribution&lt;/strong&gt; — the same mathematical framework behind SHAP (Shapley Additive exPlanations), which is the gold standard for ML interpretability.&lt;/p&gt;

&lt;p&gt;The core logic:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Normalization.&lt;/strong&gt; When a model outputs feature weights, they don't naturally sum to the prediction. My audit engine normalizes each feature's contribution so that:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Σ all_contributions = prediction - base_value
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This mirrors exact Shapley value semantics — every feature's "credit" adds up to explain exactly why the model moved from its baseline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Proxy Detection.&lt;/strong&gt; The engine maintains a list of known non-clinical proxy features (&lt;code&gt;hospital_site_id&lt;/code&gt;, &lt;code&gt;system_timestamp&lt;/code&gt;, &lt;code&gt;zip_code&lt;/code&gt;, etc.). If any proxy feature contributes more than 15% of the total prediction variance, the system triggers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;⚠ PROXY_BIAS_DETECTED
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3: Trust Index.&lt;/strong&gt; A 0-100 score calculated from two penalty components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Proxy Contamination Penalty&lt;/strong&gt;: Sum of all proxy feature variance (capped at 60 points)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skew Penalty&lt;/strong&gt;: Number of clinical features with outsized influence (5 points each, capped at 20)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A Trust Index below 50 means the model should not be deployed.&lt;/p&gt;

&lt;p&gt;I described this math to MeDo in plain English, and it generated a working implementation. That still blows my mind.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "Holy Shit" Demo
&lt;/h2&gt;

&lt;p&gt;When I uploaded my first test payload — a simulated cancer prediction model with a deliberately leaked &lt;code&gt;hospital_site_id&lt;/code&gt; — the dashboard lit up like a Christmas tree. In red.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;🔴 Raw Prediction Risk: &lt;strong&gt;91.0%&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔴 Trust Index: &lt;strong&gt;46/100&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔴 Status: &lt;strong&gt;PROXY_BIAS_DETECTED&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The feature attribution table revealed the terrifying truth: &lt;code&gt;hospital_site_id&lt;/code&gt; accounted for &lt;strong&gt;39%&lt;/strong&gt; of the prediction. The actual tumor size? Only &lt;strong&gt;17.9%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The model was predicting cancer based on &lt;em&gt;where the patient was treated&lt;/em&gt;, not &lt;em&gt;what their cancer looked like&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Then I uploaded a clean model — one trained only on clinical features. Everything turned green. Trust Index: &lt;strong&gt;95/100&lt;/strong&gt;. Status: &lt;strong&gt;CLEAN&lt;/strong&gt;. The contrast was visceral.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond a Calculator: The Compliance Workflow
&lt;/h2&gt;

&lt;p&gt;A one-shot audit tool isn't a productivity platform. Here's what makes MeDo Audit a real product:&lt;/p&gt;

&lt;h3&gt;
  
  
  📊 Trust Index Trend Chart
&lt;/h3&gt;

&lt;p&gt;Every audit is tracked over time. The dashboard shows a line chart of Trust Index scores — green above 75, amber between 50-75, red below 50. At a glance, a compliance officer can see if a model is degrading.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔄 Compare View
&lt;/h3&gt;

&lt;p&gt;Select any two audits and see them side-by-side. Trust Index 46 vs 95. PROXY_BIAS_DETECTED vs CLEAN. Top features ranked. This is how teams track whether their model retraining actually fixed the bias.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎫 Compliance Hub (Kanban Board)
&lt;/h3&gt;

&lt;p&gt;When an audit fails — Trust Index below 50 or proxy bias detected — the system automatically creates a compliance ticket. The Kanban board has three columns: Open → Under Review → Resolved. Teams can drag tickets, add investigation notes, and track remediation.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 AI Audit Explainer
&lt;/h3&gt;

&lt;p&gt;This is the feature I'm most proud of. After an audit runs, an AI chat panel appears. But it's not a generic chatbot — it has the full audit context. Ask it "What should we fix?" and it responds:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Remove hospital_site_id and system_timestamp from the feature set and retrain the model using only clinical variables. hospital_site_id alone accounts for 39.0% of the model's decision — a non-clinical identifier should never be a top driver."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's not a template. That's a context-aware AI clinical data scientist, built into a no-code platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters Right Now
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;EU AI Act&lt;/strong&gt; (effective 2025) classifies clinical AI as "high-risk" and &lt;strong&gt;requires&lt;/strong&gt; transparency documentation for deployed models. The &lt;strong&gt;FDA&lt;/strong&gt; has issued draft guidance demanding that AI/ML-based medical devices provide feature-level interpretability.&lt;/p&gt;

&lt;p&gt;There is no widely available, easy-to-use tool that gives clinical teams this workflow. Enterprise solutions cost six figures. Open-source SHAP libraries require Python expertise and can't be deployed as a team workflow tool.&lt;/p&gt;

&lt;p&gt;MeDo Audit fills that gap. Built with MeDo. Deployed with one click. Zero code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;strong&gt;Live App&lt;/strong&gt;: &lt;a href="https://app-bnht1hj8irk1.appmedo.com/" rel="noopener noreferrer"&gt;https://app-bnht1hj8irk1.appmedo.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick test:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click "Load Sample" or upload a JSON payload&lt;/li&gt;
&lt;li&gt;Watch the dashboard light up with audit results&lt;/li&gt;
&lt;li&gt;Ask the AI: &lt;em&gt;"Is this model safe to deploy?"&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Check the Compliance Hub for auto-generated tickets&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The sample data is pre-loaded with a biased model. Upload it and watch everything go red. That red screen is the difference between catching bias before deployment and letting a discriminatory AI make cancer diagnoses.&lt;/p&gt;




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

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No-code doesn't mean no-depth.&lt;/strong&gt; MeDo handled full-stack generation, but the mathematical logic (SHAP normalization, proxy detection, trust scoring) was my design. The platform amplified my domain knowledge into a deployable product.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The scariest bugs aren't in code — they're in data.&lt;/strong&gt; A model can be 95% accurate and still be fundamentally biased. Accuracy metrics don't catch proxy bias. Feature attribution does.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI transparency isn't optional anymore.&lt;/strong&gt; It's law. And the tools need to be as accessible as the models they audit.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;Built for the &lt;a href="https://medo.devpost.com/" rel="noopener noreferrer"&gt;Build with MeDo Hackathon&lt;/a&gt; · Try MeDo at &lt;a href="https://medo.dev/?invitecode=user-6r4myao1yeps" rel="noopener noreferrer"&gt;medo.dev&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;#BuiltWithMeDo #AI #Healthcare #MachineLearning #NoCode #Hackathon&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>builtwithmedo</category>
      <category>healthcare</category>
      <category>nocode</category>
    </item>
  </channel>
</rss>
