<?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: 唐远韬</title>
    <description>The latest articles on DEV Community by 唐远韬 (@yuantao).</description>
    <link>https://dev.to/yuantao</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%2F4178212%2F6c9b969e-afb8-497f-a32a-3bd1d1261ed0.png</url>
      <title>DEV Community: 唐远韬</title>
      <link>https://dev.to/yuantao</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yuantao"/>
    <language>en</language>
    <item>
      <title>I built IntentLens to make metric definitions visible before generating charts</title>
      <dc:creator>唐远韬</dc:creator>
      <pubDate>Mon, 12 Oct 2026 04:01:50 +0000</pubDate>
      <link>https://dev.to/yuantao/i-built-intentlens-to-make-metric-definitions-visible-before-generating-charts-56i6</link>
      <guid>https://dev.to/yuantao/i-built-intentlens-to-make-metric-definitions-visible-before-generating-charts-56i6</guid>
      <description>&lt;p&gt;A chart can look right while answering the wrong question.&lt;/p&gt;

&lt;p&gt;For example, imagine two groups:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Group A: 10 conversions from 100 visits → 10%.&lt;/li&gt;
&lt;li&gt;Group B: 5 conversions from 10 visits → 50%.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The overall conversion rate is &lt;strong&gt;15 / 110 ≈ 13.64%&lt;/strong&gt;.&lt;br&gt;
The average of the two group rates is &lt;strong&gt;30%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Both calculations are valid, but they answer different questions. I wanted that choice to be visible before a chart is generated.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’m building
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;IntentLens&lt;/strong&gt; is a local Excel/CSV visualization workbench.&lt;/p&gt;

&lt;p&gt;The workflow is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Import data → Describe the question → Review a plan → Compute → Refine → Export&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before execution, you can inspect grouping, aggregation, ratio definitions and missing-value handling. The full application also supports chart revisions and reproducible exports.&lt;/p&gt;

&lt;p&gt;Models propose declarative analysis plans rather than arbitrary Python or JavaScript to execute. The application validates those plans and computes results from a data snapshot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the English interactive sample
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://pyslowpoke.github.io/IntentLens/?lang=en" rel="noopener noreferrer"&gt;Open the sample&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No installation, signup or API key is required.&lt;/p&gt;

&lt;p&gt;Try one small task:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the conversion-rate question.&lt;/li&gt;
&lt;li&gt;Compare overall conversion with average monthly conversion.&lt;/li&gt;
&lt;li&gt;Generate a chart.&lt;/li&gt;
&lt;li&gt;Change its title or ordering.&lt;/li&gt;
&lt;li&gt;Download a result.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The public sample uses fixed synthetic data and deterministic rules. It does not call AI or accept file uploads.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The two-group example above explains the concept; it is separate from the sample’s 12-record dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the full local application adds
&lt;/h2&gt;

&lt;p&gt;The full workbench supports your own Excel/CSV files, conversations with a configured model, multiple chart engines and revision history.&lt;/p&gt;

&lt;p&gt;I also recorded an English walkthrough of the actual local workflow: uploading a synthetic CSV, entering a question, receiving a plan from DeepSeek and generating a chart. The computed regional totals were checked against the input data.&lt;/p&gt;

&lt;p&gt;The project is still a development version intended for trusted local, single-user use. Model-assisted planning requires an API key and sends field metadata and statistics to the configured provider.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/Pyslowpoke/IntentLens" rel="noopener noreferrer"&gt;Source code and installation instructions&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The feedback I need
&lt;/h2&gt;

&lt;p&gt;I’m trying to understand whether the confirmation step earns its place in a real reporting workflow.&lt;/p&gt;

&lt;p&gt;If you regularly work with spreadsheets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For your last report, would reviewing the metric definition have prevented a mistake or added friction?&lt;/li&gt;
&lt;li&gt;Where did you get stuck in the sample?&lt;/li&gt;
&lt;li&gt;What would you use instead, and what does that workflow do better?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m also looking for five people with recurring reporting tasks to try the full application using public or sanitized data.&lt;/p&gt;

&lt;p&gt;Comments and concrete criticism are welcome. No star required.&lt;/p&gt;

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