<?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: Ayush Sharma</title>
    <description>The latest articles on DEV Community by Ayush Sharma (@ayushhardeniya).</description>
    <link>https://dev.to/ayushhardeniya</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%2F3096086%2Fc74c5ad1-2ad2-4c14-9315-71c33cf12449.png</url>
      <title>DEV Community: Ayush Sharma</title>
      <link>https://dev.to/ayushhardeniya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ayushhardeniya"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ayush Sharma</dc:creator>
      <pubDate>Tue, 30 Jun 2026 09:10:08 +0000</pubDate>
      <link>https://dev.to/ayushhardeniya/-594l</link>
      <guid>https://dev.to/ayushhardeniya/-594l</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-story__hidden-navigation-link"&gt;From Monitoring Dashboard to Decision Support Platform: Finishing Jal-Drishti Delhi&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;GitHub “Finish-Up-A-Thon” Challenge Submission&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ayushhardeniya" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3096086%2Fc74c5ad1-2ad2-4c14-9315-71c33cf12449.png" alt="ayushhardeniya profile" class="crayons-avatar__image" width="369" height="369"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ayushhardeniya" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ayush Sharma
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ayush Sharma
                
              
              &lt;div id="story-author-preview-content-3828677" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ayushhardeniya" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3096086%2Fc74c5ad1-2ad2-4c14-9315-71c33cf12449.png" class="crayons-avatar__image" alt="" width="369" height="369"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ayush Sharma&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 5&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" id="article-link-3828677"&gt;
          From Monitoring Dashboard to Decision Support Platform: Finishing Jal-Drishti Delhi
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/githubchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;githubchallenge&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Stop Typing Your GitHub Password Every Time: Set Up SSH for Git in Linux/WSL</title>
      <dc:creator>Ayush Sharma</dc:creator>
      <pubDate>Tue, 30 Jun 2026 09:03:58 +0000</pubDate>
      <link>https://dev.to/ayushhardeniya/stop-typing-your-github-password-every-time-set-up-ssh-for-git-in-linuxwsl-2cnk</link>
      <guid>https://dev.to/ayushhardeniya/stop-typing-your-github-password-every-time-set-up-ssh-for-git-in-linuxwsl-2cnk</guid>
      <description>&lt;p&gt;If you're contributing to open source or working with GitHub regularly, you've probably encountered this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Username &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="s1"&gt;'https://github.com'&lt;/span&gt;:
Password &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="s1"&gt;'https://github.com'&lt;/span&gt;:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or worse, GitHub rejects your password because password authentication is no longer supported.&lt;/p&gt;

&lt;p&gt;The solution? &lt;strong&gt;SSH authentication&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Once configured, you can push, pull, and clone repositories without entering your credentials every time.&lt;/p&gt;

&lt;p&gt;In this guide, I'll show you how to configure SSH for Git on Linux or WSL.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why use SSH?
&lt;/h2&gt;

&lt;p&gt;Instead of authenticating with your username and Personal Access Token (PAT) for every repository, SSH uses a pair of cryptographic keys:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Private Key → Stays on your computer.&lt;/li&gt;
&lt;li&gt;Public Key → Added to your GitHub account.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When GitHub sees your private key, it verifies your identity automatically.&lt;/p&gt;

&lt;p&gt;No passwords.&lt;br&gt;
No tokens.&lt;br&gt;
Just Git.&lt;/p&gt;


&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Linux (Ubuntu, Debian, Fedora, etc.) or WSL2&lt;/li&gt;
&lt;li&gt;Git installed&lt;/li&gt;
&lt;li&gt;A GitHub account&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  Step 1 - Verify SSH is installed
&lt;/h3&gt;

&lt;p&gt;Open your terminal and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-V&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;OpenSSH_9.6p1 Ubuntu-3ubuntu13.12, OpenSSL 3.0.13
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see a version number, you're good to go.&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 2 - Generate a new SSH key
&lt;/h3&gt;

&lt;p&gt;GitHub recommends using the modern &lt;code&gt;Ed25519&lt;/code&gt; algorithm.&lt;/p&gt;

&lt;p&gt;Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen &lt;span class="nt"&gt;-t&lt;/span&gt; ed25519 &lt;span class="nt"&gt;-C&lt;/span&gt; &lt;span class="s2"&gt;"your-email@example.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace the email with the one associated with your GitHub account.&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen &lt;span class="nt"&gt;-t&lt;/span&gt; ed25519 &lt;span class="nt"&gt;-C&lt;/span&gt; &lt;span class="s2"&gt;"ayush@example.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll be asked:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Enter file in which to save the key
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simply &lt;strong&gt;press Enter&lt;/strong&gt; to accept the default location:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;~/.ssh/id_ed25519
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Step 3 - Choose a passphrase
&lt;/h3&gt;

&lt;p&gt;Next you'll see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Enter passphrase (empty for no passphrase):
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You have two options:&lt;/p&gt;

&lt;h4&gt;
  
  
  Option 1 (Recommended for personal machines)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Press Enter twice.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This creates the key without a passphrase, making Git authentication seamless.&lt;/p&gt;

&lt;h4&gt;
  
  
  Option 2 (Recommended for shared or highly secure machines)
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Enter a strong passphrase.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This adds an extra layer of security but requires unlocking the key before use.&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 4 - Start the SSH agent
&lt;/h3&gt;

&lt;p&gt;Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;eval&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;ssh-agent &lt;span class="nt"&gt;-s&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example output:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Agent pid 12345&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The SSH agent securely manages your private keys.&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 5 - Add your private key
&lt;/h3&gt;

&lt;p&gt;Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-add ~/.ssh/id_ed25519
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Identity added: /home/user/.ssh/id_ed25519
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  Step 6 - Copy your public key
&lt;/h3&gt;

&lt;p&gt;Display the public key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; ~/.ssh/id_ed25519.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You'll see something similar to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI........ your-email@example.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Copy&lt;/strong&gt; the entire line.&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 7 - Add the key to GitHub
&lt;/h3&gt;

&lt;p&gt;Navigate to:&lt;/p&gt;

&lt;p&gt;-&amp;gt; GitHub → Settings → SSH and GPG keys → New SSH key&lt;/p&gt;

&lt;p&gt;Give it a meaningful title, for example:&lt;/p&gt;

&lt;p&gt;-&amp;gt; Ubuntu WSL - Work Laptop&lt;/p&gt;

&lt;p&gt;Paste the copied public key into the Key field.&lt;/p&gt;

&lt;p&gt;Click Add SSH key.&lt;/p&gt;

&lt;p&gt;Done!&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 8 - Test the connection
&lt;/h3&gt;

&lt;p&gt;Run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-T&lt;/span&gt; git@github.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The first time you'll be asked:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The authenticity of host 'github.com' can't be established.
Are you sure you want to continue connecting (yes/no)?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;yes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If everything is configured correctly, you'll see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Congratulations!&lt;/strong&gt; SSH is now configured successfully.&lt;/p&gt;




&lt;h3&gt;
  
  
  Step 9 - Update existing repositories
&lt;/h3&gt;

&lt;p&gt;If your repositories currently use HTTPS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://github.com/username/project.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switch them to SSH:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote set-url origin git@github.com:username/project.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;origin  git@github.com:username/project.git &lt;span class="o"&gt;(&lt;/span&gt;fetch&lt;span class="o"&gt;)&lt;/span&gt;
origin  git@github.com:username/project.git &lt;span class="o"&gt;(&lt;/span&gt;push&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Verify your Git identity
&lt;/h2&gt;

&lt;p&gt;You can also verify your Git configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; &lt;span class="nt"&gt;--list&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or check specific values:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If needed, configure them:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.name &lt;span class="s2"&gt;"Your Name"&lt;/span&gt;
git config &lt;span class="nt"&gt;--global&lt;/span&gt; user.email &lt;span class="s2"&gt;"your-email@example.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Troubleshooting&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Permission denied (publickey)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ensure your key is loaded:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-add ~/.ssh/id_ed25519
~/.ssh doesn&lt;span class="s1"&gt;'t exist
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Generate a new SSH key using the steps above.&lt;/p&gt;

&lt;p&gt;The directory will be created automatically.&lt;/p&gt;

&lt;p&gt;Git still asks for a username/password&lt;/p&gt;

&lt;p&gt;Your repository is likely still using HTTPS.&lt;/p&gt;

&lt;p&gt;Check:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If it shows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://github.com/...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switch it to SSH:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git remote set-url origin git@github.com:username/repository.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Setting up SSH takes less than &lt;strong&gt;10 minutes&lt;/strong&gt;, but it saves countless authentication prompts throughout your development journey.&lt;/p&gt;

&lt;p&gt;If you're contributing to open source, working across multiple repositories, or simply want a smoother Git workflow, SSH is well worth the one-time setup.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;

&lt;p&gt;Drop a ❤️ if you find it helpful.&lt;/p&gt;

</description>
      <category>github</category>
      <category>ssh</category>
      <category>opensource</category>
      <category>git</category>
    </item>
    <item>
      <title>Exploring HackerRank's Open-Source AI Hiring Agent: A Hands-on Walkthrough (Guide)</title>
      <dc:creator>Ayush Sharma</dc:creator>
      <pubDate>Thu, 25 Jun 2026 16:33:33 +0000</pubDate>
      <link>https://dev.to/ayushhardeniya/exploring-hackerranks-open-source-ai-hiring-agent-a-hands-on-walkthrough-guide-1g71</link>
      <guid>https://dev.to/ayushhardeniya/exploring-hackerranks-open-source-ai-hiring-agent-a-hands-on-walkthrough-guide-1g71</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Can an AI evaluate a resume the way a recruiter would?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That question made me explore HackerRank's open-source &lt;strong&gt;Hiring Agent&lt;/strong&gt; (thanks to &lt;a href="https://www.linkedin.com/in/hardikgoyal2003/" rel="noopener noreferrer"&gt;Hardik Goyal&lt;/a&gt;). I wanted to understand how it works, how difficult it is to set up, and what kind of feedback it actually provides. This article is a walkthrough of that journey-from setting it up on &lt;strong&gt;WSL Ubuntu&lt;/strong&gt; to debugging a few unexpected issues and finally running my resume through the evaluation pipeline.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why I Tried This
&lt;/h2&gt;

&lt;p&gt;A few days ago, while discussing resume reviews with one of my seniors, &lt;strong&gt;Hardik Goyal&lt;/strong&gt;, I asked him if there was a good way to get an estimate of how an AI-based hiring system might evaluate my resume.&lt;/p&gt;

&lt;p&gt;His response was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I think HackerRank recently open-sourced their ATS, try that."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That got me curious enough to try it myself.&lt;/p&gt;

&lt;p&gt;After looking into the repository, I realized it wasn't actually a complete ATS, but an open-source AI resume evaluation pipeline published by HackerRank's InterviewStreet GitHub organization.&lt;/p&gt;

&lt;p&gt;Since I was already planning to improve my resume, I thought this would be a good opportunity to understand how the project works, set it up locally, and see what kind of insights it could provide.&lt;/p&gt;

&lt;p&gt;This article is a walkthrough of that entire experience-from the initial setup to debugging a few unexpected issues, and finally running the evaluation successfully.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Project Is (and Isn't)
&lt;/h2&gt;

&lt;p&gt;Before jumping into the setup, it's worth clarifying one thing.&lt;/p&gt;

&lt;p&gt;This project &lt;strong&gt;isn't the complete hiring system used by HackerRank&lt;/strong&gt;, nor should its score be treated as an industry-standard ATS score.&lt;/p&gt;

&lt;p&gt;Instead, it's an open-source project that demonstrates one part of a hiring workflow—AI-assisted resume evaluation.&lt;/p&gt;

&lt;p&gt;It combines resume parsing, GitHub analysis, and LLM-based reasoning to produce a structured report instead of simply matching keywords. &lt;a href="https://github.com/interviewstreet/hiring-agent/blob/main/README.md#how-it-works" rel="noopener noreferrer"&gt;src&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That transparency is what caught my attention.&lt;/p&gt;




&lt;h1&gt;
  
  
  Overall Architecture
&lt;/h1&gt;

&lt;p&gt;The entire pipeline is surprisingly straightforward.&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%2Fqsvbxml0sby7ru9tlp6p.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%2Fqsvbxml0sby7ru9tlp6p.png" alt=" " width="467" height="617"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of only reading the PDF, it also tries to understand your GitHub profile before evaluating your overall engineering profile.&lt;/p&gt;




&lt;h1&gt;
  
  
  My Setup
&lt;/h1&gt;

&lt;p&gt;I used the following environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows 11&lt;/li&gt;
&lt;li&gt;WSL2 (Ubuntu)&lt;/li&gt;
&lt;li&gt;Nano (for quick terminal edits)&lt;/li&gt;
&lt;li&gt;Python 3.12&lt;/li&gt;
&lt;li&gt;Google Gemini API (&lt;a href="https://aistudio.google.com/utm=ayushhardeniya" rel="noopener noreferrer"&gt;AI Studio&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;GitHub API (pre-configured)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The setup itself wasn't difficult, but I did run into a few issues along the way.&lt;/p&gt;




&lt;h1&gt;
  
  
  Cloning the Repository
&lt;/h1&gt;

&lt;p&gt;The first step was simply cloning the project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/interviewstreet/hiring-agent.git
&lt;span class="nb"&gt;cd &lt;/span&gt;hiring-agent
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After that I created a Python virtual environment.&lt;/p&gt;

&lt;p&gt;Or at least... I tried to.&lt;/p&gt;




&lt;h1&gt;
  
  
  Issue #1 — Python Wasn't Found
&lt;/h1&gt;

&lt;p&gt;My first attempt was:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;which immediately failed with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;Command 'python' not found
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nothing serious.&lt;/p&gt;

&lt;p&gt;Ubuntu ships with &lt;code&gt;python3&lt;/code&gt; instead of &lt;code&gt;python&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;So I switched to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I thought that would solve it.&lt;/p&gt;

&lt;p&gt;It didn't.&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%2Fg8zd257pjng6p16p3p0y.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%2Fg8zd257pjng6p16p3p0y.png" alt=" " width="696" height="99"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Issue #2 — Missing venv Package
&lt;/h1&gt;

&lt;p&gt;The next error looked like this:&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%2Fgciy2jfu26i65ofq07df.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%2Fgciy2jfu26i65ofq07df.png" alt=" " width="798" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It turns out Ubuntu doesn't install the virtual environment package by default.&lt;/p&gt;

&lt;p&gt;Installing it solved the problem.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update

&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;python3.12-venv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After that:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 &lt;span class="nt"&gt;-m&lt;/span&gt; venv .venv

&lt;span class="nb"&gt;source&lt;/span&gt; .venv/bin/activate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;worked perfectly.&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%2Fkw3n6z9zwtbjhasfjoky.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%2Fkw3n6z9zwtbjhasfjoky.png" alt=" " width="604" height="742"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Installing Dependencies
&lt;/h1&gt;

&lt;p&gt;Once the virtual environment was ready, installing everything else was straightforward.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The repository installs everything required for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PDF parsing&lt;/li&gt;
&lt;li&gt;Gemini&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;GitHub integration&lt;/li&gt;
&lt;li&gt;Jinja templates&lt;/li&gt;
&lt;li&gt;Pydantic models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No surprises here.&lt;/p&gt;




&lt;h1&gt;
  
  
  Configuring Gemini
&lt;/h1&gt;

&lt;p&gt;The project supports two providers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;li&gt;Google Gemini&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since I already had a Gemini API key, I decided to use that.&lt;/p&gt;

&lt;p&gt;While editing the .env file, I also ended up learning two Nano shortcuts that I'll probably keep using:&lt;/p&gt;

&lt;p&gt;-&amp;gt; Alt + U → Undo&lt;br&gt;
-&amp;gt; Alt + E → Redo&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;.env&lt;/code&gt; file looked 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;LLM_PROVIDER=gemini
DEFAULT_MODEL=gemini-2.5-pro
GEMINI_API_KEY=YOUR_API_KEY
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simple enough.&lt;/p&gt;

&lt;p&gt;Or so I thought.&lt;/p&gt;




&lt;h1&gt;
  
  
  Organizing Resume Files
&lt;/h1&gt;

&lt;p&gt;Instead of keeping resumes scattered across different folders, I created a dedicated directory inside the project.&lt;/p&gt;

&lt;p&gt;(&lt;code&gt;mkdir resumes&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;Since my resume was stored on my Windows W: drive, I first verified it was available inside WSL using &lt;code&gt;ls /mnt&lt;/code&gt;, then copied it into a dedicated &lt;code&gt;resumes&lt;/code&gt; folder while giving it a shorter filename for easier execution.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; /mnt

&lt;span class="nb"&gt;cp&lt;/span&gt; &lt;span class="s2"&gt;"/mnt/w/ResumeS/&amp;lt;PATH_TO_MY_RESUME&amp;gt;/Ayush_Sharma_Resume.pdf"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
resumes/resume_NEW_NAME.pdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hiring-agent
│
├── resumes
│     ├── resume_general.pdf
│     ├── resume_google.pdf
│     └── resume_microsoft.pdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes it easy to evaluate different resume versions without changing commands every time.&lt;/p&gt;




&lt;h1&gt;
  
  
  First Run
&lt;/h1&gt;

&lt;p&gt;With everything configured, I finally ran:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python score.py resumes/resume_microsoft.pdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The logs started scrolling.&lt;/p&gt;

&lt;p&gt;The Gemini provider initialized successfully.&lt;/p&gt;

&lt;p&gt;Everything looked good...&lt;/p&gt;

&lt;p&gt;Until it suddenly stopped.&lt;/p&gt;

&lt;p&gt;At this point, I wasn't sure whether the problem was with my API key, my project configuration, or the repository itself.&lt;/p&gt;




&lt;h1&gt;
  
  
  Issue #3 — Gemini Quota Error
&lt;/h1&gt;

&lt;p&gt;The error looked something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;429

Quota exceeded

limit: 0
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At first, I assumed I had entered the wrong API key.&lt;/p&gt;

&lt;p&gt;Then I checked Google AI Studio.&lt;/p&gt;

&lt;p&gt;Everything looked normal.&lt;/p&gt;

&lt;p&gt;I even verified that the project existed.&lt;/p&gt;

&lt;p&gt;Still the same error.&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%2Fl7xakvacxpa0fgu86cj8.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%2Fl7xakvacxpa0fgu86cj8.png" alt=" " width="800" height="665"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Debugging the API
&lt;/h1&gt;

&lt;p&gt;Instead of guessing, I decided to verify each assumption one by one.&lt;/p&gt;

&lt;p&gt;The first thing I checked was whether my API key actually worked.&lt;/p&gt;

&lt;p&gt;I listed all available Gemini models using a simple curl request.&lt;/p&gt;

&lt;p&gt;It worked.&lt;/p&gt;

&lt;p&gt;Next, I tested a small prompt directly against the API.&lt;/p&gt;

&lt;p&gt;Again, it worked.&lt;/p&gt;

&lt;p&gt;That confirmed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;my API key was valid&lt;/li&gt;
&lt;li&gt;the Gemini API was working&lt;/li&gt;
&lt;li&gt;networking wasn't the problem&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The issue had to be somewhere else.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Actual Fix
&lt;/h1&gt;

&lt;p&gt;After comparing the responses, I noticed something interesting.&lt;/p&gt;

&lt;p&gt;The repository was configured to use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-2.5-pro
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But my direct API request used:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gemini-2.5-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Changing one line inside &lt;code&gt;.env&lt;/code&gt; fixed everything.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DEFAULT_MODEL=gemini-2.5-flash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The project started working immediately.&lt;/p&gt;

&lt;p&gt;Sometimes debugging is simply about eliminating possibilities one by one instead of assuming the first error message tells the whole story.&lt;/p&gt;




&lt;h1&gt;
  
  
  GitHub Enrichment
&lt;/h1&gt;

&lt;p&gt;One feature I genuinely liked was the GitHub integration.&lt;/p&gt;

&lt;p&gt;Instead of relying only on the resume PDF, the project also looks at your GitHub profile.&lt;/p&gt;

&lt;p&gt;It fetches repositories, classifies them, and then asks the LLM to identify the projects that best represent your work before generating the evaluation.&lt;/p&gt;

&lt;p&gt;That adds another layer of context which many simple resume checkers completely ignore.&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%2Fi2poe4w9zfwvli5opuga.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%2Fi2poe4w9zfwvli5opuga.png" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No doubt, this was actually my favorite feature of the project.&lt;/p&gt;




&lt;h1&gt;
  
  
  How the Evaluation Works
&lt;/h1&gt;

&lt;p&gt;Once everything is collected, the evaluation pipeline looks like this.&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%2Fttgsht2wcl7ewtmdkien.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%2Fttgsht2wcl7ewtmdkien.png" alt=" " width="800" height="263"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The final report isn't just a number.&lt;/p&gt;

&lt;p&gt;It also explains &lt;em&gt;why&lt;/em&gt; certain scores were assigned.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Liked
&lt;/h1&gt;

&lt;p&gt;I wasn't particularly interested in chasing a higher score.&lt;/p&gt;

&lt;p&gt;I was more interested in understanding the evaluation process.&lt;/p&gt;

&lt;p&gt;One thing I really appreciated was the idea of &lt;strong&gt;bonus points&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of only looking for missing things, the system also rewards additional effort, such as maintaining a portfolio website or having a LinkedIn profile.&lt;/p&gt;

&lt;p&gt;I also liked that &lt;strong&gt;deductions&lt;/strong&gt; weren't hidden.&lt;/p&gt;

&lt;p&gt;Rather than silently reducing the score, the report explicitly mentions why points were deducted.&lt;/p&gt;

&lt;p&gt;Whether you agree with those deductions or not, at least you know what influenced the result.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;recommendations&lt;/strong&gt; section was another pleasant surprise.&lt;/p&gt;

&lt;p&gt;They weren't just generic resume advice copied from the internet.&lt;/p&gt;

&lt;p&gt;They were generated based on the overall profile the system had built using both the resume and GitHub.&lt;/p&gt;

&lt;p&gt;Not every suggestion perfectly matched my situation, but several of them were genuinely useful and worth thinking about.&lt;/p&gt;

&lt;h2&gt;
  
  
  That kind of transparency makes the feedback much more actionable.
&lt;/h2&gt;

&lt;p&gt;For reference, this is the report generated for my resume:&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%2Fzsupnq9bsev8bkwzt05y.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%2Fzsupnq9bsev8bkwzt05y.png" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Things That Could Be Better
&lt;/h1&gt;

&lt;p&gt;Like any open-source project, there is room for improvement.&lt;/p&gt;

&lt;p&gt;I think project ranking could become smarter by considering more GitHub signals instead of relying primarily on LLM selection.&lt;/p&gt;

&lt;p&gt;It would also be nice if the system automatically detected deployed applications from platforms like GitHub Pages, Vercel, Netlify, or Render instead of assuming every project without an explicit demo deserves a deduction.&lt;/p&gt;

&lt;p&gt;Another improvement could be different evaluation rubrics for different roles.&lt;/p&gt;

&lt;p&gt;The expectations for a backend engineer, machine learning engineer, or frontend developer are obviously different, so role-specific scoring could make the evaluation even more meaningful.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Learned
&lt;/h1&gt;

&lt;p&gt;I originally started this just to test a resume.&lt;/p&gt;

&lt;p&gt;Instead, I ended up learning much more than I expected.&lt;/p&gt;

&lt;p&gt;Along the way I got to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;configure Python environments inside WSL&lt;/li&gt;
&lt;li&gt;debug missing Ubuntu packages&lt;/li&gt;
&lt;li&gt;work with the Gemini API&lt;/li&gt;
&lt;li&gt;investigate API quota issues&lt;/li&gt;
&lt;li&gt;understand GitHub rate limits&lt;/li&gt;
&lt;li&gt;explore how LLMs can be used for structured information extraction&lt;/li&gt;
&lt;li&gt;see how AI-assisted resume evaluation pipelines are designed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes the setup process teaches you just as much as the project itself.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;I don't think anyone should treat the final score from this project as an absolute measure of their resume.&lt;/p&gt;

&lt;p&gt;Hiring decisions involve far more context than any single AI system can capture.&lt;/p&gt;

&lt;p&gt;But I do think it's a great project to explore if you're curious about how AI-assisted resume evaluation works behind the scenes.&lt;/p&gt;

&lt;p&gt;It offers a transparent look into how an AI-powered resume evaluation pipeline can be built, and I appreciate that it explains its reasoning instead of hiding everything behind a single percentage.&lt;/p&gt;

&lt;p&gt;If you're interested in AI tooling, resume evaluation, or simply want to understand how these systems work under the hood, it's definitely worth exploring.&lt;/p&gt;

&lt;p&gt;And if you're into open source, it also looks like a fun project to contribute to.&lt;/p&gt;




&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Repository: &lt;a href="https://github.com/interviewstreet/hiring-agent/" rel="noopener noreferrer"&gt;https://github.com/interviewstreet/hiring-agent/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Google AI Studio: &lt;a href="https://aistudio.google.com/?utm=ayushHardeniya" rel="noopener noreferrer"&gt;https://aistudio.google.com/?utm=ayushHardeniya&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you've tried this project—or know of similar open-source tools—I'd love to hear your experience in the comments.&lt;/p&gt;

&lt;p&gt;If you enjoyed the article, consider leaving a ❤️. It really helps!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Planning to deploy this project!
Any tips are most welcome to make it scalable ?</title>
      <dc:creator>Ayush Sharma</dc:creator>
      <pubDate>Sat, 13 Jun 2026 10:56:20 +0000</pubDate>
      <link>https://dev.to/ayushhardeniya/planning-to-deploy-this-projectany-tips-are-most-welcome-to-make-it-scalable--o36</link>
      <guid>https://dev.to/ayushhardeniya/planning-to-deploy-this-projectany-tips-are-most-welcome-to-make-it-scalable--o36</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-story__hidden-navigation-link"&gt;From Monitoring Dashboard to Decision Support Platform: Finishing Jal-Drishti Delhi&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;GitHub “Finish-Up-A-Thon” Challenge Submission&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ayushhardeniya" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3096086%2Fc74c5ad1-2ad2-4c14-9315-71c33cf12449.png" alt="ayushhardeniya profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ayushhardeniya" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ayush Sharma
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ayush Sharma
                
              
              &lt;div id="story-author-preview-content-3828677" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ayushhardeniya" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3096086%2Fc74c5ad1-2ad2-4c14-9315-71c33cf12449.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ayush Sharma&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 5&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" id="article-link-3828677"&gt;
          From Monitoring Dashboard to Decision Support Platform: Finishing Jal-Drishti Delhi
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/githubchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;githubchallenge&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>architecture</category>
      <category>devops</category>
      <category>discuss</category>
      <category>monitoring</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ayush Sharma</dc:creator>
      <pubDate>Wed, 10 Jun 2026 15:09:55 +0000</pubDate>
      <link>https://dev.to/ayushhardeniya/-23jp</link>
      <guid>https://dev.to/ayushhardeniya/-23jp</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-story__hidden-navigation-link"&gt;From Monitoring Dashboard to Decision Support Platform: Finishing Jal-Drishti Delhi&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;GitHub “Finish-Up-A-Thon” Challenge Submission&lt;/p&gt;

&lt;/a&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ayushhardeniya" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3096086%2Fc74c5ad1-2ad2-4c14-9315-71c33cf12449.png" alt="ayushhardeniya profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ayushhardeniya" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ayush Sharma
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ayush Sharma
                
              
              &lt;div id="story-author-preview-content-3828677" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ayushhardeniya" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3096086%2Fc74c5ad1-2ad2-4c14-9315-71c33cf12449.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ayush Sharma&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 5&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" id="article-link-3828677"&gt;
          From Monitoring Dashboard to Decision Support Platform: Finishing Jal-Drishti Delhi
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/devchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;devchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/githubchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;githubchallenge&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>From Monitoring Dashboard to Decision Support Platform: Finishing Jal-Drishti Delhi</title>
      <dc:creator>Ayush Sharma</dc:creator>
      <pubDate>Fri, 05 Jun 2026 14:18:24 +0000</pubDate>
      <link>https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme</link>
      <guid>https://dev.to/ayushhardeniya/from-monitoring-dashboard-to-decision-support-platform-finishing-jal-drishti-delhi-cme</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Jal-Drishti Delhi is an urban flooding and hydrology command center designed to explore how municipal authorities can monitor flood-prone areas, assess preparedness, and respond to flooding events across Delhi.&lt;/p&gt;

&lt;p&gt;The project was originally built for the Urban Flooding &amp;amp; Hydrology Engine challenge during &lt;strong&gt;India Innovates 2026&lt;/strong&gt;. It already included flood monitoring, hotspot analysis, drainage monitoring, readiness scoring, historical analytics, emergency workflows, and GIS visualization.&lt;/p&gt;

&lt;p&gt;While the project was functional, a few planned capabilities never made it into the original version because of time constraints. When I came across the GitHub Finish-Up-A-Thon, I decided to revisit the project and complete those missing pieces rather than starting something new.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Project:&lt;/strong&gt; Jal-Drishti Delhi&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt; React, Flask, Leaflet, Recharts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi" rel="noopener noreferrer"&gt;https://github.com/ayushHardeniya/Jal-Drishti-Delhi&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://jal-drishti-delhi-mu.vercel.app" rel="noopener noreferrer"&gt;https://jal-drishti-delhi-mu.vercel.app&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Architecture Documentation:&lt;/strong&gt; &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/blob/main/ARCHITECTURE.md" rel="noopener noreferrer"&gt;https://github.com/ayushHardeniya/Jal-Drishti-Delhi/blob/main/ARCHITECTURE.md&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Walkthrough Video
&lt;/h3&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/bmCsSPgtJOo"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Dashboard Before Finish-Up-A-Thon
&lt;/h3&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%2Fjjklrq58xzzru1sp0l9f.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%2Fjjklrq58xzzru1sp0l9f.png" alt=" " width="799" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dashboard After Finish-Up-A-Thon
&lt;/h3&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%2Fe04gwig25mhvw0bxm5yk.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%2Fe04gwig25mhvw0bxm5yk.png" alt=" " width="800" height="443"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;The original version already provided:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flood hotspot monitoring&lt;/li&gt;
&lt;li&gt;GIS visualization&lt;/li&gt;
&lt;li&gt;Drainage network analysis&lt;/li&gt;
&lt;li&gt;Historical flood analytics&lt;/li&gt;
&lt;li&gt;Pre-Monsoon Readiness Scoring&lt;/li&gt;
&lt;li&gt;Emergency response workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, several parts of the original roadmap were still missing.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Before Finish-Up-A-Thon&lt;/th&gt;
&lt;th&gt;After Finish-Up-A-Thon&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Flood monitoring&lt;/td&gt;
&lt;td&gt;Flood monitoring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drainage analysis&lt;/td&gt;
&lt;td&gt;Drainage analysis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Historical analytics&lt;/td&gt;
&lt;td&gt;Historical analytics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Readiness scoring&lt;/td&gt;
&lt;td&gt;Readiness scoring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Emergency workflows&lt;/td&gt;
&lt;td&gt;Emergency workflows&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No resource allocation recommendations&lt;/td&gt;
&lt;td&gt;Resource Allocation Engine&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No scenario planning capabilities&lt;/td&gt;
&lt;td&gt;Flood Scenario Simulator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No centralized reporting workflow&lt;/td&gt;
&lt;td&gt;Reports &amp;amp; Exports Center&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No deployment recommendations&lt;/td&gt;
&lt;td&gt;Prioritized resource recommendations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No comparative simulations&lt;/td&gt;
&lt;td&gt;Baseline vs scenario comparison&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Rather than redesigning the application, I focused on completing the operational layer that sits between monitoring and action.&lt;/p&gt;




&lt;h3&gt;
  
  
  1. Resource Allocation Engine
&lt;/h3&gt;

&lt;p&gt;The first major addition was a Planning module.&lt;/p&gt;

&lt;p&gt;This feature evaluates flood risk, readiness scores, drainage conditions, and available resources to generate prioritized deployment recommendations.&lt;/p&gt;

&lt;p&gt;Each recommendation includes reasoning and estimated impact so that users can understand why a location is being prioritized.&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%2F6i5mloku22l63eorp6ut.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%2F6i5mloku22l63eorp6ut.png" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Flood Scenario Simulator
&lt;/h3&gt;

&lt;p&gt;The second addition was a Scenario Simulator.&lt;/p&gt;

&lt;p&gt;This module allows users to run what-if analyses by changing rainfall intensity and operational conditions. The simulator compares baseline conditions with projected outcomes and highlights the resulting impact on risk, readiness, and response requirements.&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%2F6fvuxou7av39tkje3bge.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%2F6fvuxou7av39tkje3bge.png" alt=" " width="799" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Reports &amp;amp; Exports Center
&lt;/h3&gt;

&lt;p&gt;The third addition was a Reports &amp;amp; Exports Center.&lt;/p&gt;

&lt;p&gt;This brings together operational reporting, planning outputs, scenario reports, and data exports into a single workflow. The goal was to make it easier to generate and share information from within the application instead of relying on multiple pages.&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%2Fyxb4upuq7l7bj1avrhmi.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%2Fyxb4upuq7l7bj1avrhmi.png" alt=" " width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Architecture Approach
&lt;/h3&gt;

&lt;p&gt;One design decision I intentionally kept throughout this work was preserving the existing architecture.&lt;/p&gt;

&lt;p&gt;The application remains a Flask + React project with no additional backend services, databases, or major structural changes.&lt;/p&gt;

&lt;p&gt;The new functionality was integrated into the existing codebase by extending the current services, APIs, and frontend modules rather than rebuilding them.&lt;/p&gt;

&lt;p&gt;This helped keep the project consistent while still adding meaningful capabilities.&lt;/p&gt;

&lt;p&gt;A simplified view of the application structure is shown below.&lt;/p&gt;

&lt;h3&gt;
  
  
  System Overview
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;React Frontend
│
├─ Dashboard
├─ Hotspots
├─ Drainage
├─ Planning
├─ Scenario Simulator
├─ Reports &amp;amp; Exports
├─ Readiness
└─ Emergency Actions
        │
        ▼
Flask REST API
│
├─ app.py
├─ services.py
└─ data.py
        │
        ▼
Flood Risk Analysis
Readiness Scoring
Resource Allocation
Scenario Simulation
Reporting
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Development Evidence
&lt;/h2&gt;

&lt;p&gt;One thing I liked about this challenge was that it encouraged finishing something that already existed.&lt;/p&gt;

&lt;p&gt;Instead of starting a new repository, I was able to revisit a project that had been sitting unfinished and complete the parts that were originally postponed.&lt;/p&gt;

&lt;p&gt;The implementation work completed during the challenge can be viewed in the &lt;strong&gt;merged pull request&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finish-Up-A-Thon Pull Request&lt;/strong&gt;&lt;/p&gt;


&lt;div class="ltag_github-liquid-tag"&gt;
  &lt;h1&gt;
    &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/pull/1" rel="noopener noreferrer"&gt;
      &lt;img class="github-logo" alt="GitHub logo" src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg"&gt;
      &lt;span class="issue-title"&gt;
        add planning, scenario simulation nd reporting capabilities to Jal-Drishti Delhi
      &lt;/span&gt;
      &lt;span class="issue-number"&gt;#1&lt;/span&gt;
    &lt;/a&gt;
  &lt;/h1&gt;
  &lt;div class="github-thread"&gt;
    &lt;div class="timeline-comment-header"&gt;
      &lt;a href="https://github.com/ayushHardeniya" rel="noopener noreferrer"&gt;
        &lt;img class="github-liquid-tag-img" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F195630088%3Fv%3D4" alt="ayushHardeniya avatar"&gt;
      &lt;/a&gt;
      &lt;div class="timeline-comment-header-text"&gt;
        &lt;strong&gt;
          &lt;a href="https://github.com/ayushHardeniya" rel="noopener noreferrer"&gt;ayushHardeniya&lt;/a&gt;
        &lt;/strong&gt; posted on &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/pull/1" rel="noopener noreferrer"&gt;&lt;time&gt;Jun 05, 2026&lt;/time&gt;&lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag-github-body"&gt;
      &lt;p&gt;contains the work completed while revisiting Jal-Drishti Delhi as part of the GitHub Finish-Up-A-Thon by dev community&lt;/p&gt;
&lt;p&gt;the project originally focused on flood monitoring, analytics, readiness scoring, and emergency operations.
a few planned capabilities were still missing:&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Limitations before Finish-Up-A-Thon&lt;/h3&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;No resource allocation recommendations&lt;/li&gt;
&lt;li&gt;No scenario planning module&lt;/li&gt;
&lt;li&gt;No multi-day forecast timeline&lt;/li&gt;
&lt;li&gt;No downloadable PDF situation reports&lt;/li&gt;
&lt;li&gt;No operational deployment recommendations&lt;/li&gt;
&lt;li&gt;No comparative flood scenario analysis&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;these were part of the longer-term roadmap but were left for future development due to tiime constraints during the initial build&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;the goal of this update was to complete some of the planning and reporting capabilities that were left out in the original version (e.g.)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Original Modules
├─ Dashboard
├─ Hotspots
├─ Drainage
├─ Analytics
├─ Historical
├─ Readiness
└─ Emergency

New Modules
├─ Planning
├─ Scenario Simulator
└─ Reports &amp;amp; Exports
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Added (with this PR)&lt;/h3&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Resource Allocation Engine&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;prioritized deployment recommendations&lt;/li&gt;
&lt;li&gt;resource inventory overview&lt;/li&gt;
&lt;li&gt;impact estimates and reasoning for recommendations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/user-attachments/assets/7850485d-903d-476e-b23e-26e66129c8de"&gt;&lt;img width="1870" height="1043" alt="planning-1" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2F7850485d-903d-476e-b23e-26e66129c8de"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Flood Scenario Simulator&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What-if scenario analysis&lt;/li&gt;
&lt;li&gt;baseline vs simulated comparisons&lt;/li&gt;
&lt;li&gt;response planning support&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/user-attachments/assets/0cfdf4dc-3de9-465d-b7fc-b8783ce7a518"&gt;&lt;img width="1872" height="1042" alt="ScenarioSimulator-1" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2F0cfdf4dc-3de9-465d-b7fc-b8783ce7a518"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Reports &amp;amp; Exports Center&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;centralized access to reports&lt;/li&gt;
&lt;li&gt;operational exports and downloads&lt;/li&gt;
&lt;li&gt;Consolidated reporting workflow&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/user-attachments/assets/20d41d65-d4aa-4a7d-9ca3-15e2b8e14f00"&gt;&lt;img width="1876" height="1044" alt="reports-1" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2F20d41d65-d4aa-4a7d-9ca3-15e2b8e14f00"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Other updates&lt;/h3&gt;
&lt;span class="octicon octicon-link"&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Updated navigation nd page structure&lt;/li&gt;
&lt;li&gt;Added project branding assets and favicon&lt;/li&gt;
&lt;li&gt;Refreshed &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/blob/main/README.md" rel="noopener noreferrer"&gt;README&lt;/a&gt; and &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/blob/main/ARCHITECTURE.md" rel="noopener noreferrer"&gt;ARCHITECTURE&lt;/a&gt; documentation&lt;/li&gt;
&lt;li&gt;Minor UI polish and consistency improvements&lt;/li&gt;
&lt;li&gt;Added screenshots for project state before and after this finish-up-a-thon&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: the overall architecture remains unchanged... the new functionality was integrated into the existing Flask + React application without introoducing additional backend services or major architectural changes&lt;/p&gt;
&lt;/blockquote&gt;

    &lt;/div&gt;
    &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/pull/1" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;This pull request contains the complete set of changes implemented during the Finish-Up-A-Thon, including the Planning module, Scenario Simulator, Reports &amp;amp; Exports Center, documentation updates, and project assets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Commit History
&lt;/h3&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%2Fvicedbqojpfqbvzpsk3m.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%2Fvicedbqojpfqbvzpsk3m.png" alt=" " width="800" height="444"&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%2Fqv7ec1z2qhfwjk4i51l6.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%2Fqv7ec1z2qhfwjk4i51l6.png" alt=" " width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub commit history:&lt;br&gt;
&lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/commits/main/" rel="noopener noreferrer"&gt;https://github.com/ayushHardeniya/Jal-Drishti-Delhi/commits/main/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Deployment History
&lt;/h3&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%2F4icfzzft7n4xtlnz42xn.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%2F4icfzzft7n4xtlnz42xn.png" alt=" " width="799" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository also contains additional screenshots documenting the project's state before and after the Finish-Up-A-Thon updates, available in the &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/tree/main/screenshots" rel="noopener noreferrer"&gt;screenshots directory&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;I used GitHub Copilot throughout this completion process.&lt;/p&gt;

&lt;p&gt;Since this was an existing project, the most useful part was not generating entire features automatically but helping me move through an established codebase faster.&lt;/p&gt;

&lt;p&gt;I used Copilot to explore implementation paths, understand existing patterns, and speed up repetitive work while keeping the overall architecture consistent.&lt;/p&gt;

&lt;p&gt;For larger additions such as the Resource Allocation Engine, Scenario Simulator, and Reports Center, it was particularly useful for navigating the repository and reducing the amount of boilerplate involved in extending the existing system.&lt;/p&gt;

&lt;p&gt;The final implementation still required architectural decisions, validation, testing, and integration work, but Copilot helped reduce the friction of revisiting and expanding an older project.&lt;/p&gt;




&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi" rel="noopener noreferrer"&gt;https://github.com/ayushHardeniya/Jal-Drishti-Delhi&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://jal-drishti-delhi-mu.vercel.app" rel="noopener noreferrer"&gt;https://jal-drishti-delhi-mu.vercel.app&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Walkthrough Video:&lt;/strong&gt; &lt;a href="https://youtu.be/bmCsSPgtJOo" rel="noopener noreferrer"&gt;https://youtu.be/bmCsSPgtJOo&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pull Request (Finish-Up-A-Thon):&lt;/strong&gt; &lt;a href="https://github.com/ayushHardeniya/Jal-Drishti-Delhi/pull/1" rel="noopener noreferrer"&gt;https://github.com/ayushHardeniya/Jal-Drishti-Delhi/pull/1&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Thanks for reading.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
    <item>
      <title>How Do You See Yourself? A Coder or An Engineer.</title>
      <dc:creator>Ayush Sharma</dc:creator>
      <pubDate>Sun, 08 Jun 2025 05:49:38 +0000</pubDate>
      <link>https://dev.to/ayushhardeniya/how-do-you-see-yourself-a-coder-or-an-engineer-2dl4</link>
      <guid>https://dev.to/ayushhardeniya/how-do-you-see-yourself-a-coder-or-an-engineer-2dl4</guid>
      <description>&lt;p&gt;Sometimes, it becomes necessary to reflect on ourselves and consider our perspective.&lt;br&gt;
Isn't it, Answer my question if you agree, And Lemme also know what you reflect for yourself...&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
