<?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: Vishal Pandey</title>
    <description>The latest articles on DEV Community by Vishal Pandey (@vishal_vigilante).</description>
    <link>https://dev.to/vishal_vigilante</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%2F4036770%2F56410924-c986-4a5a-ad11-fc0ac7c4426c.jpg</url>
      <title>DEV Community: Vishal Pandey</title>
      <link>https://dev.to/vishal_vigilante</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vishal_vigilante"/>
    <language>en</language>
    <item>
      <title>AI code review just delayed PostgreSQL 19. Finding bugs is now cheap and fixing them isn’t.</title>
      <dc:creator>Vishal Pandey</dc:creator>
      <pubDate>Sat, 17 Oct 2026 16:30:43 +0000</pubDate>
      <link>https://dev.to/vishal_vigilante/ai-code-review-just-delayed-postgresql-19-finding-bugs-is-now-cheap-and-fixing-them-isnt-2mm5</link>
      <guid>https://dev.to/vishal_vigilante/ai-code-review-just-delayed-postgresql-19-finding-bugs-is-now-cheap-and-fixing-them-isnt-2mm5</guid>
      <description>&lt;p&gt;PostgreSQL 19 was supposed to ship in October. The release team now says general availability is November 19, with RC 2 on November 12 (postgresql.org’s RC 1 announcement has the dates). The reason is the interesting part.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happened&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;According to The Register’s report, developers reverted or pulled between 8 and 10 significant features and pushed them to PostgreSQL 20. Some of them, like SQL/PGQ graph queries, had architectural issues that would have been hard to fix during beta.&lt;/p&gt;

&lt;p&gt;LLM-assisted code review also surfaced a long list of defects. The Register cites roughly 40 defect reports, mostly small edge cases that would previously have turned up later, if at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It wasn’t “vibe coding”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Peter Eisentraut (EDB, a PostgreSQL committer) was explicit, as relayed by The Register: vibe coding did not cause the reverts, because those tools weren’t available when most of the features were written. The AI didn’t write the bugs. It found them.&lt;/p&gt;

&lt;p&gt;One caveat. Independent write-ups argue that AI wasn’t the only cause. Review capacity, and late-cycle review timing, mattered too. Treat “AI found the bugs” as the headline, not the whole story.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The real lesson: the bottleneck moved&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every defect still needs a human to triage it, fix it, test it, and review the fix. Finding bugs got cheap. Fixing them didn’t.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you maintain a codebase, the practical takeaways are:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run AI review before you merge, not after. Late findings are expensive. Early findings are cheap.&lt;/li&gt;
&lt;li&gt;Keep changes small. A small diff means a small fix.&lt;/li&gt;
&lt;li&gt;Verify every fix with tests. AI-suggested fixes still need proof.&lt;/li&gt;
&lt;li&gt;What I’m doing about it&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I’m biasing toward small, verified commits. I build &lt;a href="https://myvigilante.ocix.in/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=settlement-autumn-2026&amp;amp;utm_content=devto-2" rel="noopener noreferrer"&gt;Vigilante&lt;/a&gt;, a free game that turns GitHub-verified commits into a settlement you build. It’s a small nudge toward the habit this story argues for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; &lt;em&gt;postgresql.org RC 1 announcement; The Register (Oct 16, 2026).&lt;/em&gt;&lt;/p&gt;

</description>
      <category>postgres</category>
      <category>ai</category>
      <category>opensource</category>
      <category>codereview</category>
    </item>
    <item>
      <title>My PixiJS game worked locally and broke in production. The culprit was one CSP word.</title>
      <dc:creator>Vishal Pandey</dc:creator>
      <pubDate>Fri, 16 Oct 2026 18:27:49 +0000</pubDate>
      <link>https://dev.to/vishal_vigilante/my-pixijs-game-worked-locally-and-broke-in-production-the-culprit-was-one-csp-word-b4j</link>
      <guid>https://dev.to/vishal_vigilante/my-pixijs-game-worked-locally-and-broke-in-production-the-culprit-was-one-csp-word-b4j</guid>
      <description>&lt;p&gt;Vigilante’s town is a PixiJS 8 scene inside a React 19 and Vite app, hosted on Vercel. Locally it was fine. In production, the settlement scene broke.&lt;/p&gt;

&lt;p&gt;The screen became a blank canvas and one console error.&lt;/p&gt;

&lt;p&gt;Nothing in the code had changed between the two environments. The page’s security headers had.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Dev and production aren’t the same browser environment&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Our production Content Security Policy is set in vercel.json. It’s strict on purpose: scripts only from our own origin and a short list of payment and ad domains, and no 'unsafe-eval'. That blocks eval() and new Function().&lt;/p&gt;

&lt;p&gt;npm run dev doesn’t serve those headers. So anything that evaluates code at runtime works locally, and you only find out in production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why a renderer needs eval&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For speed, PixiJS generates small pieces of JavaScript at runtime, such as the functions that upload shader uniforms, and compiles them with new Function(). It’s a common performance trick, and a strict CSP blocks it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fix: one import with a confusing name&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;PixiJS 8 ships eval-free versions of that generated code. You opt in with a side-effect import before creating the renderer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Production CSP has no 'unsafe-eval'; this swaps Pixi's generated&lt;/span&gt;
&lt;span class="c1"&gt;// shader/uniform code for eval-free versions.&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;pixi.js/unsafe-eval&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Despite the name, this import lets Pixi work without unsafe-eval. We kept the policy strict and fixed the renderer, rather than loosening security for one game scene.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Making sure it can’t come back&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A unit test holds both halves in place. It checks that the production CSP still has no 'unsafe-eval', and that the scene file still starts with that import. If someone “cleans up” the odd-looking import, or loosens the policy, the test fails.&lt;/li&gt;
&lt;li&gt;Anything that adds a library, worker, canvas or WebGL code, or an external request gets tested as a production build served with the real headers, not just in npm run dev.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Other ways to handle it&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add 'unsafe-eval' to the policy. It’s the easiest option and the worst one: it weakens the whole app to fix one scene.&lt;/li&gt;
&lt;li&gt;Serve different headers in dev. It catches this class of bug earlier, but the two drift apart easily.&lt;/li&gt;
&lt;li&gt;Test a production build locally with the real headers. That’s what we do now for anything risky.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What the scene is for?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Pixi scene is a town that your real GitHub work rebuilds. Every verified day drops a crate, and the crates build Lantern District.&lt;/p&gt;

&lt;p&gt;Play: &lt;a href="https://myvigilante.ocix.in/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=settlement-autumn-2026&amp;amp;utm_content=devto-2" rel="noopener noreferrer"&gt;https://myvigilante.ocix.in/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=settlement-autumn-2026&amp;amp;utm_content=devto-2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Have you been caught by a dev/production header mismatch? What broke for you?&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>security</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>I built a browser game where your GitHub pushes will help build a city. Read the Journey and provide your brutally honest feedback</title>
      <dc:creator>Vishal Pandey</dc:creator>
      <pubDate>Thu, 15 Oct 2026 20:04:47 +0000</pubDate>
      <link>https://dev.to/vishal_vigilante/i-built-a-browser-game-where-your-github-pushes-will-help-build-a-city-read-the-journey-and-3eei</link>
      <guid>https://dev.to/vishal_vigilante/i-built-a-browser-game-where-your-github-pushes-will-help-build-a-city-read-the-journey-and-3eei</guid>
      <description>&lt;p&gt;So, I was working on a project called Vigilante (by Ocix) for the last 6-7 months. And now people have started looking into it and actually using it. The numbers are still very low but I feel Reddit will help me to reach this project to all the developers out there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem statement -&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For the last year, I have been very serious about building something so that I can survive if AI takes over my job. But whenever I try to build something. I'm just motivated for the initial 5-6 days, and then motivation fades.&lt;/p&gt;

&lt;p&gt;I planned to do something for this first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I proceed:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Currently, we are at v7 of the application, and it was not like this from the start.8&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The first version only had the dashboard and Pomodoro + it charged money if I missed a day.&lt;br&gt;
&lt;strong&gt;Response&lt;/strong&gt;: It doesn't even let people try it. Worst UI and bugs. But it helped me to stick around it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Second version: I improved the UI a bit, but it was still a dashboard; no one liked it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Till v5, the same story was repeating: I was improving the font, UI, adding unwanted features, and no one was giving a f*.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In v6, I got the idea of why not to make it a game; this one was completely not my idea at all, but a subtle hint I got from one of my followers. I built it and made it an action game.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Now people are starting to show interest, but a big issue came up as the games are costly. So need to think about the cost also. For some of the fields, I used the image in the background, and that was spoiling the game.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In v7, I figured out what I needed... I was playing a city builder game, and it was so addictive that I played it day and night for 3 days just to complete all its levels. That's when I got the final idea.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It took me a lot of time, but every time I learned a lot.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does Vigilante even do?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Till now, I told you the story. Now let me tell you what it does.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Log in with GitHub.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Attach the repo you are going to work on.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a goal&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;and you will enter the game.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Every day, whenever you push your commit to GitHub, the game automatically progresses. It's super fun.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Play: &lt;a href="https://myvigilante.ocix.in/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=settlement-autumn-2026&amp;amp;utm_content=devto-2" rel="noopener noreferrer"&gt;https://myvigilante.ocix.in/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=settlement-autumn-2026&amp;amp;utm_content=devto-2&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F83xcd73ok23y9aboxnvm.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F83xcd73ok23y9aboxnvm.png" alt="Lantern ward homepage screenshot" width="799" height="503"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffsnh4m6nsvbmibd5pmbd.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffsnh4m6nsvbmibd5pmbd.png" alt="Lantern district homepage screenshot" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>browsergame</category>
      <category>100daysofcode</category>
      <category>consistency</category>
    </item>
    <item>
      <title>I turned GitHub pushes into a town-building game, and kept the honest part</title>
      <dc:creator>Vishal Pandey</dc:creator>
      <pubDate>Tue, 13 Oct 2026 19:30:06 +0000</pubDate>
      <link>https://dev.to/vishal_vigilante/i-turned-github-pushes-into-a-town-building-game-and-kept-the-honest-part-5dpd</link>
      <guid>https://dev.to/vishal_vigilante/i-turned-github-pushes-into-a-town-building-game-and-kept-the-honest-part-5dpd</guid>
      <description>&lt;p&gt;Most streak apps trust you. You tap “done,” the number goes up, and nothing checks. On a good day that’s fine. On a bad day, that trust is the problem, because nothing stops you letting yourself off.&lt;/p&gt;

&lt;p&gt;I wanted a streak that checks the one thing I can’t fake: whether code reached GitHub.&lt;/p&gt;

&lt;p&gt;What it checks, and what it doesn’t&lt;/p&gt;

&lt;p&gt;Setup takes about a minute. Connect GitHub, pick a repo, and set a daily commit target.&lt;/p&gt;

&lt;p&gt;GitHub sends push notifications. Vigilante uses the push payload: commit IDs, timestamps and file names. Commit messages are stored only if you turn on sharing them. It never requests your code or diffs.&lt;/p&gt;

&lt;p&gt;Not every push counts. Merge commits, empty commits, and changes to documentation, lock files or repo config alone don’t count. A day needs at least one other changed file. I drew that line on purpose: a day is “did you ship something real,” not “did you touch a file.”&lt;/p&gt;

&lt;p&gt;The honest limit: it can’t tell a thoughtful commit from a typo fix, and it doesn’t try. What it guarantees is that a verified day means code actually reached GitHub.&lt;/p&gt;

&lt;p&gt;Why a game on top&lt;/p&gt;

&lt;p&gt;Every verified day drops a crate with Materials, XP and a chance of a bonus. Streaks raise the reward: ×1.2 at 3 days, ×1.5 at 7 and up.&lt;/p&gt;

&lt;p&gt;You spend Materials on a settlement called Lantern District, which has six buildings with five levels each. Survivors move in as you upgrade. The game is a ledger for the streak: when you miss a day, the salvage pauses and the town goes quiet, so the gap is something you can see. Revival Fluid can repair one missed day.&lt;/p&gt;

&lt;p&gt;Design decisions&lt;br&gt;
Only verified work makes progress. Logging in, tapping, or watching anything grants nothing. That rule is in the code, not just the copy.&lt;br&gt;
Store as little as possible. The app keeps counts. Commit text is kept only with consent. Deleting an account removes its data and keeps one anonymous row of totals.&lt;br&gt;
Try it&lt;/p&gt;

&lt;p&gt;Play: &lt;a href="https://myvigilante.ocix.in/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=settlement-autumn-2026&amp;amp;utm_content=devto-1" rel="noopener noreferrer"&gt;https://myvigilante.ocix.in/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=settlement-autumn-2026&amp;amp;utm_content=devto-1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’d rather not connect GitHub yet, the free check-up needs no sign-up: &lt;a href="https://vigilante.ocix.in/audit" rel="noopener noreferrer"&gt;https://vigilante.ocix.in/audit&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s the one signal you’d trust in a streak tool? I’d like to know what you’d check first.&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzms4v2jckzivdsibqo84.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzms4v2jckzivdsibqo84.png" alt="Lantern Ward map screenshot of the real game" width="800" height="520"&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhva76fl5dhwlx7aw2cnl.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhva76fl5dhwlx7aw2cnl.png" alt="Lantern District map screenshot of the real game" width="800" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>webdev</category>
      <category>sideprojects</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Is it relatable to you too?</title>
      <dc:creator>Vishal Pandey</dc:creator>
      <pubDate>Sun, 11 Oct 2026 12:45:54 +0000</pubDate>
      <link>https://dev.to/vishal_vigilante/is-it-relatable-to-you-too-9j0</link>
      <guid>https://dev.to/vishal_vigilante/is-it-relatable-to-you-too-9j0</guid>
      <description>&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzomlnun92qhjathn4s7e.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzomlnun92qhjathn4s7e.png" alt="This image shows a fun side of using AI" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>aimemes</category>
    </item>
    <item>
      <title>I built a game that only grows when you push real GitHub commits. Roast it?</title>
      <dc:creator>Vishal Pandey</dc:creator>
      <pubDate>Tue, 06 Oct 2026 21:04:09 +0000</pubDate>
      <link>https://dev.to/vishal_vigilante/i-built-a-game-that-only-grows-when-you-push-real-github-commits-roast-it-4c55</link>
      <guid>https://dev.to/vishal_vigilante/i-built-a-game-that-only-grows-when-you-push-real-github-commits-roast-it-4c55</guid>
      <description>&lt;p&gt;I'm the solo dev behind this, so take my enthusiasm with salt.&lt;/p&gt;

&lt;p&gt;My problem: I start side projects and quietly drop them around week three. So I built Vigilante, a free game where you connect one repo, and your settlement only grows when you push verified work. No push, no daily supply crate.&lt;/p&gt;

&lt;p&gt;How it works, briefly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You connect a single GitHub repo. It never clones the repo or reads your source, private diffs, or credentials. It only sees push signals.&lt;/li&gt;
&lt;li&gt;Verified pushes earn daily supplies that build six buildings (Lantern House, Salvage Yard, and so on).&lt;/li&gt;
&lt;li&gt;Streaks give bonuses, and there's one "mend a missed day" item a month so a bad day doesn't wreck everything.&lt;/li&gt;
&lt;li&gt;There's a story campaign, plus a daily share card if you want to show your progress.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's free to start. There's also a free GitHub check-up that audits your repo's recent activity with no signup, in case you only want that.&lt;/p&gt;

&lt;p&gt;What I'd like to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does "game progress tied to real commits" feel motivating, or gimmicky?&lt;/li&gt;
&lt;li&gt;What would make you stop using it after day 3?&lt;/li&gt;
&lt;li&gt;Is "it doesn't read your code" enough to make you comfortable connecting a repo?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Link: &lt;a href="https://vigilante.ocix.in" rel="noopener noreferrer"&gt;https://vigilante.ocix.in&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer anything, including "why does this exist."&lt;/p&gt;

</description>
      <category>github</category>
      <category>productivity</category>
      <category>100daysofcode</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Your Side Project Died Because You Stopped Pushing Code (The 72-Hour Rule)</title>
      <dc:creator>Vishal Pandey</dc:creator>
      <pubDate>Sun, 19 Jul 2026 17:22:22 +0000</pubDate>
      <link>https://dev.to/vishal_vigilante/your-side-project-died-because-you-stopped-pushing-code-the-72-hour-rule-19hf</link>
      <guid>https://dev.to/vishal_vigilante/your-side-project-died-because-you-stopped-pushing-code-the-72-hour-rule-19hf</guid>
      <description>&lt;p&gt;We’ve all been there. &lt;/p&gt;

&lt;p&gt;You get a burst of inspiration late on a Friday night. You purchase the domain, bootstrap the repo, configure your Tailwind variables, and write 800 lines of beautiful, clean code. You go to sleep feeling like a future startup founder.&lt;/p&gt;

&lt;p&gt;Fast forward three weeks: the repository has been silent for 15 days, the domain is sitting unused, and you’re already thinking about a new project.&lt;/p&gt;

&lt;p&gt;Why does this happen? &lt;/p&gt;

&lt;p&gt;It’s not because your idea was bad, and it's not because you ran out of time. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It’s because you broke the 72-Hour Rule of momentum.&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  The Anatomy of a Abandoned Repo
&lt;/h3&gt;

&lt;p&gt;Momentum in software development behaves like a heavy flywheel. It takes immense energy to start spinning, but once it's moving, it carries itself. &lt;/p&gt;

&lt;p&gt;However, developer momentum decays exponentially. The moment you stop pushing code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Day 1 offline&lt;/strong&gt;: You still remember the context. You know what function to write next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day 2 offline&lt;/strong&gt;: You start losing the mental map. Re-starting requires a minor effort.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day 3 offline&lt;/strong&gt;: Cognitive friction sets in. You have to spend 15 minutes reading your own code just to remember what you were doing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day 4+ offline&lt;/strong&gt;: The project is dead. The thought of opening the code feels like a chore, so you avoid it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your inactive gaps stretch past 72 hours, the probability of abandoning your side project increases by over 80%.&lt;/p&gt;




&lt;h3&gt;
  
  
  The Audit: Look at the Mirror
&lt;/h3&gt;

&lt;p&gt;Before you promise yourself that "this time will be different," you need to look at your actual baseline. &lt;/p&gt;

&lt;p&gt;A lot of developers think they are consistent because they commit code in massive, 12-hour weekend sessions once every two weeks. But that is the programming equivalent of crash dieting. It doesn't build the habit.&lt;/p&gt;

&lt;p&gt;I wanted a way to visualize my own shipping gaps without looking at the cluttered GitHub heatmap (which hides inactive gaps behind total contribution counts). &lt;/p&gt;

&lt;p&gt;So, I built a free, zero-signup utility called &lt;strong&gt;Vigilante Audit&lt;/strong&gt;. It scans your public GitHub profile and extracts three simple metrics from the last 30 days:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Active Days&lt;/strong&gt;: Out of 30, how many days did you make a meaningful commit?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Longest Streak&lt;/strong&gt;: Your consecutive coding run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Longest Inactive Gap&lt;/strong&gt;: The silent periods where momentum died.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is what the dashboard looks like when you run it:&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%2Fvigilante.ocix.in%2Fopengraph-image" 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%2Fvigilante.ocix.in%2Fopengraph-image" alt="Vigilante Audit Screenshot" width="1200" height="630"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can run it for free on your username in 5 seconds:&lt;br&gt;
👉 &lt;a href="https://vigilante.ocix.in/audit" rel="noopener noreferrer"&gt;vigilante.ocix.in/audit&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  How to Fix Your Rhythm (The No-Zero-Commit Protocol)
&lt;/h3&gt;

&lt;p&gt;If your audit shows a high "Longest Gap" (e.g., 5+ days), your main focus shouldn't be writing &lt;em&gt;more&lt;/em&gt; code. It should be &lt;strong&gt;narrowing the gaps&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Here is how you do it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Establish a Daily Minimum Quota&lt;/strong&gt;: Commit to making just &lt;em&gt;one&lt;/em&gt; meaningful line change per day. Even if it's just fixing a typo, renaming a confusing variable, or adding a single unit test. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate Accountability&lt;/strong&gt;: Don't rely on self-discipline. Use a tool like &lt;a href="https://vigilante.ocix.in" rel="noopener noreferrer"&gt;Vigilante&lt;/a&gt; to link your repository. It automatically monitors your commits via webhooks. If you miss a day, your streak resets, and you face a virtual penalty.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protect Your Streaks&lt;/strong&gt;: Use streak freezes on days you genuinely need a rest. Rest is fine; silent, unexcused gaps are what kill momentum.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Stop trying to code for 4 hours a day. Start by coding for 10 minutes a day, every single day.&lt;/p&gt;

&lt;p&gt;Go run your audit, see your reality, and drop your score in the comments below. Let's see who has the lowest "inactive gap" this month!&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
