<?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: Duran Gezer</title>
    <description>The latest articles on DEV Community by Duran Gezer (@durangzr).</description>
    <link>https://dev.to/durangzr</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%2F4220890%2F0b37a455-ba40-440d-8d45-77c8db7fe4ee.png</url>
      <title>DEV Community: Duran Gezer</title>
      <link>https://dev.to/durangzr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/durangzr"/>
    <language>en</language>
    <item>
      <title>I built Noktiq to make UI changes easier to explain to coding agents</title>
      <dc:creator>Duran Gezer</dc:creator>
      <pubDate>Sun, 01 Nov 2026 16:29:16 +0000</pubDate>
      <link>https://dev.to/durangzr/i-built-noktiq-to-make-ui-changes-easier-to-explain-to-coding-agents-1bm</link>
      <guid>https://dev.to/durangzr/i-built-noktiq-to-make-ui-changes-easier-to-explain-to-coding-agents-1bm</guid>
      <description>&lt;p&gt;A small UI change should be simple to explain. But when working with coding agents, I kept spending time describing which button, heading, or card I meant.&lt;/p&gt;

&lt;p&gt;That’s why I built &lt;strong&gt;Noktiq&lt;/strong&gt;, a visual feedback tool for React and Vue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Point. Note. Paste.
&lt;/h2&gt;

&lt;p&gt;Noktiq runs on your development website:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Select the element you want to change.&lt;/li&gt;
&lt;li&gt;Write a note describing the change.&lt;/li&gt;
&lt;li&gt;Copy the request into your existing coding agent.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When available, the request includes the &lt;strong&gt;source file, line, and column&lt;/strong&gt;, alongside a selector and page context.&lt;/p&gt;

&lt;p&gt;Noktiq gathers the context. Your coding agent makes the code changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F943s6cup758c359t87im.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F943s6cup758c359t87im.gif" alt="Noktiq selection and annotation workflow" width="560" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the copied request look like?
&lt;/h2&gt;

&lt;p&gt;Instead of describing an element’s position from memory, you can give your agent something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Source: components/sections/About/About.tsx:148:17
Page: http://localhost:3000/tr
Selector: #about a
Visible text: "View my CV"
Requested change: "Change the text to Download my CV."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is a shortened example. Actual selectors may be more specific, especially when similar elements appear more than once.&lt;/p&gt;

&lt;p&gt;Source locations point to the code that renders the element. They don't necessarily identify the CSS rule, translation file, or event handler that needs editing, so the agent still needs to verify the target.&lt;/p&gt;

&lt;h2&gt;
  
  
  React and Vue, the same workflow
&lt;/h2&gt;

&lt;p&gt;Noktiq supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Individual elements, selected text, multiple elements, and area selection.&lt;/li&gt;
&lt;li&gt;Numbered pins, target status, and rebinding notes to another element.&lt;/li&gt;
&lt;li&gt;Copying individual notes or all notes together.&lt;/li&gt;
&lt;li&gt;Compact, Standard, and Detailed output.&lt;/li&gt;
&lt;li&gt;A draggable mascot and local browser note storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Documented integrations include Next.js, Nuxt, Vite, and Webpack. Compatibility depends on the framework version and project setup; the repository includes tested configurations and limitations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-D&lt;/span&gt; noktiq
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Installation alone doesn't display the toolbar. Add the React or Vue component and configure the source integration using the &lt;a href="https://github.com/DuranGZR/Noktiq#usage" rel="noopener noreferrer"&gt;setup guide&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Keep the documented development condition so the toolbar stays hidden in production.&lt;/p&gt;

&lt;p&gt;Noktiq doesn't require an AI account or API key, and it doesn't send your notes to an AI service. You review and copy the request into the coding tool you already use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I’m building it
&lt;/h2&gt;

&lt;p&gt;My goal is to reduce repeated explanations and unnecessary code searches when making visual changes.&lt;/p&gt;

&lt;p&gt;That could also reduce token usage across a task, but I haven't measured the savings yet. A structured request can be longer than a short prompt—the potential benefit comes from avoiding clarification and correction rounds afterward.&lt;/p&gt;

&lt;p&gt;Noktiq is available on npm, and the source code is on GitHub under the PolyForm Shield 1.0.0 license.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/DuranGZR/Noktiq" rel="noopener noreferrer"&gt;GitHub and documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/noktiq" rel="noopener noreferrer"&gt;npm package&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd love to hear your feedback. Would this fit into your workflow, and what would make it more useful?&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>react</category>
      <category>vue</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
