<?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: Vignesh P A</title>
    <description>The latest articles on DEV Community by Vignesh P A (@vigneshpa_).</description>
    <link>https://dev.to/vigneshpa_</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%2F3717295%2Fbdad81d4-9ef9-47c2-9a2f-2e726b21301b.png</url>
      <title>DEV Community: Vignesh P A</title>
      <link>https://dev.to/vigneshpa_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vigneshpa_"/>
    <language>en</language>
    <item>
      <title>What If AI Coding Agents Could Predict a Bad Code Change Before Making It?</title>
      <dc:creator>Vignesh P A</dc:creator>
      <pubDate>Sun, 18 Oct 2026 10:39:32 +0000</pubDate>
      <link>https://dev.to/vigneshpa_/what-if-ai-coding-agents-could-predict-a-bad-code-change-before-making-it-13ae</link>
      <guid>https://dev.to/vigneshpa_/what-if-ai-coding-agents-could-predict-a-bad-code-change-before-making-it-13ae</guid>
      <description>&lt;p&gt;AI coding agents usually follow this loop:&lt;/p&gt;

&lt;p&gt;Make a change → Run tests → Fix errors → Try again.&lt;/p&gt;

&lt;p&gt;But what if the first change was a bad idea from the start?&lt;/p&gt;

&lt;p&gt;The agent may spend minutes or hours editing files and fixing errors, only to discover that another approach would have been much safer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I wanted to help AI agents predict the impact of a code change before they start editing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That is why I built &lt;strong&gt;Preflight&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/VigneshPA-30/preflight" rel="noopener noreferrer"&gt;https://github.com/VigneshPA-30/preflight&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea behind Preflight
&lt;/h2&gt;

&lt;p&gt;Imagine an AI agent wants to rename a function used across 50 files.&lt;/p&gt;

&lt;p&gt;Instead of making the change immediately, what if it could first ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which functions and files could be affected?&lt;/li&gt;
&lt;li&gt;Which tests might fail?&lt;/li&gt;
&lt;li&gt;Can some failures go unnoticed because of mocks?&lt;/li&gt;
&lt;li&gt;Is there a safer way to make this change?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Preflight builds a graph of the codebase and simulates different refactoring plans on separate copies of that graph.&lt;/p&gt;

&lt;p&gt;It predicts the impact of each plan, identifies risky paths and ranks the options.&lt;/p&gt;

&lt;p&gt;The agent can then reject a bad approach &lt;strong&gt;before touching the actual source code&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why FalkorDB?
&lt;/h2&gt;

&lt;p&gt;The codebase is represented as a graph of functions, calls, imports, mocks and test relationships.&lt;/p&gt;

&lt;p&gt;FalkorDB makes it possible to follow these connections across multiple levels. Its &lt;code&gt;GRAPH.COPY&lt;/code&gt; feature lets Preflight create an isolated graph for each proposed change.&lt;/p&gt;

&lt;p&gt;Each plan can be simulated separately without modifying the real graph.&lt;/p&gt;

&lt;p&gt;This is not just about finding where a function is used. It is about understanding what could happen if we change it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding the problems tests may miss
&lt;/h2&gt;

&lt;p&gt;One interesting case came from my analysis of the open-source project &lt;code&gt;invoke&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Changing a function's parameters broke 59 call sites.&lt;/p&gt;

&lt;p&gt;Tests were expected to catch 58 of them. One could remain hidden because its test mocked the function.&lt;/p&gt;

&lt;p&gt;Preflight identifies this as a masked breakage, helping the agent avoid trusting a path that looks safe but is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does it work?
&lt;/h2&gt;

&lt;p&gt;I tested Preflight against five real changes in the open-source project &lt;code&gt;cookiecutter&lt;/code&gt;, comparing its predictions with the actual test failures.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;0.96 precision&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;0.99 recall&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are early results from one project, not a guarantee for every codebase. Preflight currently supports Python function renames and parameter changes, and static analysis has known limits.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bigger idea
&lt;/h2&gt;

&lt;p&gt;I believe the next step for AI coding agents is not just writing code faster.&lt;/p&gt;

&lt;p&gt;It is &lt;strong&gt;knowing which path is worth trying before spending time on it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Preflight is my attempt to make that possible: predict the impact, compare the options, abandon risky paths early, and only then make the change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simulate first. Choose wisely. Then edit.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Project: &lt;a href="https://github.com/VigneshPA-30/preflight" rel="noopener noreferrer"&gt;https://github.com/VigneshPA-30/preflight&lt;/a&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>coding</category>
      <category>github</category>
    </item>
    <item>
      <title>The Office Portfolio</title>
      <dc:creator>Vignesh P A</dc:creator>
      <pubDate>Sat, 31 Jan 2026 19:14:59 +0000</pubDate>
      <link>https://dev.to/vigneshpa_/the-office-portfolio-pco</link>
      <guid>https://dev.to/vigneshpa_/the-office-portfolio-pco</guid>
      <description>&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/new-year-new-you-google-ai-2025-12-31"&gt;New Year, New You Portfolio Challenge Presented by Google AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;About ME&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hello, This is Vignesh working as  SWE for past 2 years in Python Automation Mostly.&lt;/p&gt;

&lt;p&gt;I also worked in creating and maintaining dashboards and finetuning LLMs and Static analysis of C, I know huge change!!&lt;/p&gt;

&lt;p&gt;I also personally built papers like "Attention is all you need" etc..&lt;/p&gt;

&lt;p&gt;But, enough about me, this is my Portfolio,&lt;/p&gt;

&lt;p&gt;SO I came across this challenge about 2 days before closing like Jan 30th and I had this sudden idea of why not just make my potfolio like an office,&lt;/p&gt;

&lt;p&gt;So I fired Google AI studio and built this the best I could think of..&lt;/p&gt;

&lt;p&gt;Here is the result:&lt;br&gt;
(NOTE : you can also use WASD or arrow keys to move him)&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag__cloud-run"&gt;
  &lt;iframe height="600px" src="https://cozy-office-portfolio-961968648016.us-west1.run.app"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;




&lt;p&gt;NOTE: Press on top left to increase resolution.&lt;/p&gt;

&lt;p&gt;link- &lt;a href="https://cozy-office-portfolio-961968648016.us-west1.run.app/" rel="noopener noreferrer"&gt;https://cozy-office-portfolio-961968648016.us-west1.run.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full Building Journey&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first thought that came to my mind seeing this challenge is to build this game type portfolio, dont ask me why?&lt;/p&gt;

&lt;p&gt;Then I took my idea and went to Gemini 3 Pro and described it and asked it to review my idea, criticise it and also tell where we can make this better.&lt;/p&gt;

&lt;p&gt;Gemini mostly agreed but also suggested some things that I never thought of like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;having a low resolution mode, so low end HW wont crash&lt;/li&gt;
&lt;li&gt;having a mobile joystick &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;mainly it already defined what tech stack to use to build this app&lt;/p&gt;

&lt;p&gt;My Prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I want to create this portfolio website for a hackathon that builds visually the best portfolio. My idea is to create TPP game like environment like a offfice where the player is the visitor of the wbsite and they can tour the office to learn more about me, like manager should be in cabin and when they go to them a pop up should be tell about my projects, co worker near coffee machine go to them for hobbies, HR in hallway go to them for my Personal details and when they spawn first into the website a notice board should have my resume go near it the resume should appear in a pop up and they should be able to download it, go near a telephone and you can find the contact details. pop up should also have clickable buttons like download for resume, links for github in projects, linkedin, mail links in telephone etc, walking should be done by arrows in keyboard or up, down keys in the screen itself. This is my plan so far, analyze this in detail and think of the feasibility and any extras or modifications that we need to add and importanatly how to make this smooth like playing a video game.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now Using that info I asked gemini again to create a Prompt that I can paste in the app so it can create it, Well this gemini did strightforward&lt;/p&gt;

&lt;p&gt;Now in Google AI Studio - the first version it built was just a basic layout of the office map with all the people in place, &lt;/p&gt;

&lt;p&gt;So I was able to finalize their positions straight away!!&lt;/p&gt;

&lt;p&gt;But from there to this final page alot of instructions where required.&lt;/p&gt;

&lt;p&gt;But I must say I ahev tried otehr platforms too but here it felt like it can understand what I am talking about suoer easilt even in vague words and create that for me without repeated "Pease Fix this"&lt;/p&gt;

&lt;p&gt;Most useful was the ScreenShot attachment where I could just say "turn this to this" or "this issue is occuring" and it was able to fix that&lt;/p&gt;

&lt;p&gt;Some stuff I couldn't do where,&lt;/p&gt;

&lt;p&gt;I could not build a cabin for some reason I am not sure why? I jsut kept messing up the cabin - so I just it out&lt;/p&gt;

&lt;p&gt;Adjusting it to mobile screen size also took a lot of retrys &lt;/p&gt;

&lt;p&gt;Also getting his spawn point ifront of the board was tough, like it just spawned him always in the middle where sofa was -- then suddenly it told from which postion to which postion is moved him like [0,2,4] -&amp;gt; [0,2,10]&lt;br&gt;
so I used that info and asked it move him to [0,2,12] - which worked, &lt;/p&gt;

&lt;p&gt;Well, apart from these everything else was mostly one shot or few shots&lt;/p&gt;

&lt;p&gt;Also one thing is I went one at a time afetr the intial buildup &lt;/p&gt;

&lt;p&gt;Overall it took me 2 days but arounf 6 hrs of actual infront of laptop to get to this point!&lt;/p&gt;

&lt;p&gt;Some things I can improve is liek give full context about my work and add a voice agent so users can talk to people would also be cool!!&lt;/p&gt;

&lt;p&gt;Will also try that in future!!&lt;/p&gt;

</description>
      <category>googleaichallenge</category>
      <category>devchallenge</category>
      <category>portfolio</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
