<?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: wentao long</title>
    <description>The latest articles on DEV Community by wentao long (@wentao_long_b5409a04bcfb5).</description>
    <link>https://dev.to/wentao_long_b5409a04bcfb5</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%2F3841864%2F672f70ac-bd5e-4fd9-a27d-1ed1ed7ec8da.png</url>
      <title>DEV Community: wentao long</title>
      <link>https://dev.to/wentao_long_b5409a04bcfb5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wentao_long_b5409a04bcfb5"/>
    <language>en</language>
    <item>
      <title>Vibe coding is a black box. I got tired of guessing and started measuring.</title>
      <dc:creator>wentao long</dc:creator>
      <pubDate>Mon, 30 Mar 2026 12:41:49 +0000</pubDate>
      <link>https://dev.to/wentao_long_b5409a04bcfb5/vibe-coding-is-a-black-box-i-got-tired-of-guessing-and-started-measuring-43k0</link>
      <guid>https://dev.to/wentao_long_b5409a04bcfb5/vibe-coding-is-a-black-box-i-got-tired-of-guessing-and-started-measuring-43k0</guid>
      <description>&lt;p&gt;Computer science is a science. How do you do science without observation?&lt;/p&gt;

&lt;p&gt;That's the question that started this.&lt;/p&gt;

&lt;p&gt;I'd been using AI to build features for months. It worked — sometimes brilliantly, sometimes frustratingly. But I had no idea&lt;br&gt;
   what was actually happening. Was AI getting better at my project over time, or was I just getting better at prompting around&lt;br&gt;
   its blind spots? Were the rules I added actually helping, or did I just get lucky that session?&lt;/p&gt;

&lt;p&gt;I couldn't answer any of these questions. Not because the answers didn't exist — but because I had no data.&lt;/p&gt;


&lt;h2&gt;
  
  
  The real problem with vibe coding
&lt;/h2&gt;

&lt;p&gt;It's not that AI makes mistakes. It's that you can't see the pattern.&lt;/p&gt;

&lt;p&gt;You fix something. Next session, same mistake. You fix it again. At some point you wonder: is this the third time I've&lt;br&gt;
  corrected this, or the seventh? Is this a one-off or a systemic gap in my project rules? Without data, you're just guessing.&lt;/p&gt;

&lt;p&gt;I started logging this stuff manually in my existing project — not as a tool, just as structured notes. Task started,&lt;br&gt;
  deviation recorded, rule added. After a few weeks I had something interesting: a record of exactly where AI kept going wrong,&lt;br&gt;
   what I did about it, and whether it helped.&lt;/p&gt;

&lt;p&gt;That's when I realized this should be automatic.&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%2Fuxsc2s7ncf5yta9qdw9u.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%2Fuxsc2s7ncf5yta9qdw9u.png" alt="Deviation root cause breakdown — hallucination vs rule-missing vs context-gap" width="800" height="214"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  What I actually built
&lt;/h2&gt;

&lt;p&gt;AIDA is an MCP server that silently collects structured data as your AI works. One line to set up:&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="w"&gt;  &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&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="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"aida"&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="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"args"&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;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ai-dev-analytics"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"mcp"&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="w"&gt; &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="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every task, deviation, bug, self-review, and file change gets recorded to a local JSON file. No cloud, no telemetry, 100% on&lt;br&gt;
  your machine.&lt;/p&gt;

&lt;p&gt;Then &lt;code&gt;aida dashboard&lt;/code&gt; renders it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where is AI deviating? Which categories — layout, components, API patterns?&lt;/li&gt;
&lt;li&gt;Why is it deviating — hallucination, missing rules, or context gap?&lt;/li&gt;
&lt;li&gt;After you add a rule, does that category of deviation actually go down?&lt;/li&gt;
&lt;li&gt;What's the bug rate this sprint vs last sprint?&lt;/li&gt;
&lt;li&gt;Which files keep getting touched? Where are the real pain points?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These aren't vanity metrics. They're the feedback loop that tells you whether what you're doing is working.&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%2F8a4eflszm2h1tdm0m4ne.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%2F8a4eflszm2h1tdm0m4ne.png" alt="Deviation category distribution and deviation+rule trend over time" width="800" height="416"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  The part that matters: rules with evidence
&lt;/h2&gt;

&lt;p&gt;Anyone using AI long enough has a collection of "rules" for their project — things you've told it, conventions you've&lt;br&gt;
  documented, patterns you've reinforced. But do they work? Which ones are actually changing AI behavior, and which ones are&lt;br&gt;
  just words in a file?&lt;/p&gt;

&lt;p&gt;With observation data, you can answer that. Add a rule, watch the deviation rate in that category over the next few runs.&lt;br&gt;
  That's not "I think it's better" — that's a data-supported conclusion.&lt;/p&gt;

&lt;p&gt;The rules system in AIDA reflects this. Rules are sedimented from observed deviations, stored in &lt;code&gt;rules.json&lt;/code&gt;, and&lt;br&gt;
  auto-compiled into &lt;code&gt;.md&lt;/code&gt; files AI reads every session. When a rule stops being relevant, you deprecate it. The data tells you&lt;br&gt;
   when.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  aida rules build    &lt;span class="c"&gt;# compile rules.json → .md views AI reads&lt;/span&gt;
  aida rules dedupe   &lt;span class="c"&gt;# find overlapping rules (&amp;gt;40% keyword similarity)&lt;/span&gt;
  aida rules merge    &lt;span class="c"&gt;# resolve branch conflicts by fingerprint union&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fkyv9seetp58al7drtgx6.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%2Fkyv9seetp58al7drtgx6.png" alt=" " width="800" height="617"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I learned after running this on a real project
&lt;/h2&gt;

&lt;p&gt;The deviation categories that kept showing up for me: component usage, layout conventions, API patterns. Not hallucination —&lt;br&gt;
  mostly rule-missing. AI wasn't confused about how to code; it just didn't know my project's specific conventions.&lt;/p&gt;

&lt;p&gt;Once I had that data, I knew exactly where to focus. Rules sedimented from observed deviations. After that, those specific&lt;br&gt;
  categories dropped significantly. Not because I believed harder in the rules — because the next run's data showed fewer&lt;br&gt;
  deviations in those areas.&lt;/p&gt;

&lt;p&gt;That's the loop: &lt;strong&gt;observe → identify → add rule → measure → repeat.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No talent required. Just iteration.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  npx ai-dev-analytics dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Opens a local dashboard with anonymized demo data so you can see what it looks like before connecting your own project.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/LWTlong/ai-dev-analytics" rel="noopener noreferrer"&gt;https://github.com/LWTlong/ai-dev-analytics&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Curious whether others have been tracking this kind of thing manually — and what patterns you've found in where AI actually&lt;br&gt;
  fails on your projects.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>devtools</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Stop letting your AI repeat mistakes: I built an open-source MCP observability dashboard (React 19 + ECharts) 🚀</title>
      <dc:creator>wentao long</dc:creator>
      <pubDate>Tue, 24 Mar 2026 15:49:33 +0000</pubDate>
      <link>https://dev.to/wentao_long_b5409a04bcfb5/stop-letting-your-ai-repeat-mistakes-i-built-an-open-source-mcp-observability-dashboard-react-19-5674</link>
      <guid>https://dev.to/wentao_long_b5409a04bcfb5/stop-letting-your-ai-repeat-mistakes-i-built-an-open-source-mcp-observability-dashboard-react-19-5674</guid>
      <description>&lt;p&gt;Vibe coding with tools like Claude Code or Cursor feels like magic—until your AI repeats the exact same bug it made 10 minutes ago.&lt;/p&gt;

&lt;p&gt;As developers, we are dealing with two massive pain points in AI-assisted development right now:&lt;/p&gt;

&lt;p&gt;The Black Box: We have no idea how many tokens we are burning or where the time actually goes.&lt;/p&gt;

&lt;p&gt;AI Amnesia: You correct the AI, but in the next session, it forgets everything and breaks your codebase again.&lt;/p&gt;

&lt;p&gt;To solve this, I built ai-dev-analytics (AIDA).&lt;/p&gt;

&lt;p&gt;Meet AIDA 🕵️‍♂️&lt;br&gt;
AIDA is an open-source, 100% local Model Context Protocol (MCP) server that acts as an observability layer for your AI sessions.&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%2Fthw2tjbwtutzgowsi6d7.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%2Fthw2tjbwtutzgowsi6d7.png" alt=" " width="800" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of just being a "token counter," AIDA is a Rule Auto-Codifier.&lt;/p&gt;

&lt;p&gt;✨ The Killer Feature&lt;br&gt;
When AIDA detects that the AI has gone off-track or introduced an architectural deviation, it doesn't just log it. It automatically distills that failure into persistent project rules (compatible with .cursorrules or .clauderules).&lt;/p&gt;

&lt;p&gt;Your AI actually learns from its failures and stops repeating them.&lt;/p&gt;

&lt;p&gt;🛠️ The Tech Stack&lt;br&gt;
As a web frontend developer, I wanted the dashboard to be modern, fast, and beautiful:&lt;/p&gt;

&lt;p&gt;Dashboard: Built from scratch with React 19, Tailwind CSS 4, and ECharts for real-time ROI and bottleneck visualizations.&lt;/p&gt;

&lt;p&gt;Runtime: Node.js + TypeScript.&lt;/p&gt;

&lt;p&gt;Security: 100% Local. Zero runtime dependencies. Verified A/A/A Score on Glama.ai.&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%2F0pycc8h9fd95gncwq2zj.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%2F0pycc8h9fd95gncwq2zj.png" alt=" " width="" height=""&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%2Fk1amgtfcu1kbilgao6tu.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%2Fk1amgtfcu1kbilgao6tu.png" alt=" " width="800" height="297"&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%2Fic623survxdty95qrarw.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%2Fic623survxdty95qrarw.png" alt=" " width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⚡ Quick Start (Zero Config)&lt;br&gt;
You don't need to clone the repo or install heavy dependencies. Just add this single line to your MCP client config:&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;"mcpServers"&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="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"aida"&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="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&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;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ai-dev-analytics"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"mcp"&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="w"&gt;
  &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="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🤝 Let's build together&lt;br&gt;
I just released v1.0.0 today. If you are tired of AI amnesia and want to make your vibe coding measurable, give it a try!&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository: &lt;a href="https://github.com/LWTlong/ai-dev-analytics" rel="noopener noreferrer"&gt;https://github.com/LWTlong/ai-dev-analytics&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Drop a ⭐ if it helps your workflow, and let me know your thoughts in the comments! What's the most annoying mistake your AI keeps repeating?&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>react</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
