<?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: Anika Jha</title>
    <description>The latest articles on DEV Community by Anika Jha (@anika_jha_33ae1d9afc69178).</description>
    <link>https://dev.to/anika_jha_33ae1d9afc69178</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%2F3383911%2F3b64e089-ee63-4710-b3fb-1c33e450d6bb.jpg</url>
      <title>DEV Community: Anika Jha</title>
      <link>https://dev.to/anika_jha_33ae1d9afc69178</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anika_jha_33ae1d9afc69178"/>
    <language>en</language>
    <item>
      <title>🦇 The longest day of the year. The worst day to be a vampire.
Race through June-inspired worlds, dodge sunlight, solve puzzles, and find your missing coffin before sunset in this whimsical browser adventure.
☀️ One day. ⚰️ One coffin. One very tired 🦇 .</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Fri, 19 Jun 2026 13:29:32 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/the-longest-day-of-the-year-the-worst-day-to-be-a-vampire-race-through-june-inspired-worlds-meo</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/the-longest-day-of-the-year-the-worst-day-to-be-a-vampire-race-through-june-inspired-worlds-meo</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/anika_jha_33ae1d9afc69178/long-day-tiny-vampire-4je6" class="crayons-story__hidden-navigation-link"&gt;Long Day, Tiny Vampire&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/anika_jha_33ae1d9afc69178/long-day-tiny-vampire-4je6" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;June Solstice Game Jam 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="/anika_jha_33ae1d9afc69178" 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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3383911%2F3b64e089-ee63-4710-b3fb-1c33e450d6bb.jpg" alt="anika_jha_33ae1d9afc69178 profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/anika_jha_33ae1d9afc69178" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Anika Jha
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Anika Jha
                
              
              &lt;div id="story-author-preview-content-3929114" 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="/anika_jha_33ae1d9afc69178" 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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3383911%2F3b64e089-ee63-4710-b3fb-1c33e450d6bb.jpg" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Anika Jha&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/anika_jha_33ae1d9afc69178/long-day-tiny-vampire-4je6" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 18&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/anika_jha_33ae1d9afc69178/long-day-tiny-vampire-4je6" id="article-link-3929114"&gt;
          Long Day, Tiny Vampire
        &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/gamechallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gamechallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/gamedev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;gamedev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/junesolsticegamejam"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;junesolsticegamejam&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/anika_jha_33ae1d9afc69178/long-day-tiny-vampire-4je6#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;
            3 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>Long Day, Tiny Vampire</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Thu, 18 Jun 2026 04:59:13 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/long-day-tiny-vampire-4je6</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/long-day-tiny-vampire-4je6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/june-game-jam-2026-06-03"&gt;June Solstice Game Jam&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One day. One coffin. One very tired vampire.
&lt;/h2&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%2Fnnu3b2niuohyahcgxii0.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%2Fnnu3b2niuohyahcgxii0.png" alt="homepage" width="800" height="713"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Link for gameplay
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;(&lt;a href="https://long-day-tiny-vampire.vercel.app/" rel="noopener noreferrer"&gt;long-day-tiny-vampire&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;The longest day of the year.&lt;br&gt;
The worst day to be a vampire.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;🦇☀️⚰️&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Long Day, Tiny Vampire is a browser game about a tiny vampire whose coffin gets accidentally shipped away during a series of June celebrations.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now he's stuck outside on the June Solstice, desperately trying to get home before sunset.&lt;/p&gt;

&lt;p&gt;Along the way, you'll:&lt;/p&gt;

&lt;p&gt;🍣 Hide beneath giant sushi trays on International Sushi Day&lt;/p&gt;

&lt;p&gt;🩴 Launch yourself across beaches during National Flip-Flop Day&lt;/p&gt;

&lt;p&gt;🌈 Cross rainbow pathways created by music at a Pride Parade&lt;/p&gt;

&lt;p&gt;🔐 Solve cryptic puzzles in an Alan Turing-inspired garden&lt;/p&gt;

&lt;p&gt;☀️ Survive the Longest Afternoon, where shadows almost disappear&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal? Get home. Try not to become ash.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;iframe src="https://player.vimeo.com/video/1202367402" width="710" height="399"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://player.vimeo.com/video/1202369761" width="710" height="399"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;Built as a browser game so anyone can play instantly.&lt;br&gt;
Check out the &lt;a href="https://github.com/Anika-Jha/long-day-tiny-vampire/tree/main" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I wanted every level to feel like a completely different celebration rather than repeating the same platforming mechanics over and over.&lt;/p&gt;

&lt;p&gt;Instead of designing five levels with the same gameplay, I built five different puzzle experiences connected by a single survival mechanic: sunlight.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;central system&lt;/strong&gt; is the &lt;strong&gt;Dynamic Shadow System&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As the day progresses, the position of the sun changes, and shadows become smaller and smaller. Safe zones literally shrink as the player moves closer to the harshest part of the day. By the time players reach The Longest Afternoon, finding shade becomes a puzzle of its own.&lt;/p&gt;

&lt;p&gt;Each celebration introduces a different style of interaction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sushi Day focuses on timing and moving shadows.&lt;/li&gt;
&lt;li&gt;Flip-Flop Day uses physics-based traversal.&lt;/li&gt;
&lt;li&gt;Pride Parade introduces chromesthesia-inspired puzzles where music paints the world with colour.&lt;/li&gt;
&lt;li&gt;Turing's Garden focuses on pattern recognition and codebreaking.&lt;/li&gt;
&lt;li&gt;The Longest Afternoon becomes a resource management challenge where every patch of shade matters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To reinforce the feeling of a journey, I added several narrative systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Postcards left behind by the missing coffin.&lt;/li&gt;
&lt;li&gt;Time-based dialogue from Nox and the Sun.&lt;/li&gt;
&lt;li&gt;Solstice Memories hidden throughout the world.&lt;/li&gt;
&lt;li&gt;Optional secret routes and alternate paths.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the biggest design goals was making the player feel the passage of time.&lt;/p&gt;

&lt;p&gt;The game begins at sunrise.&lt;/p&gt;

&lt;p&gt;The game ends at sunset.&lt;/p&gt;

&lt;p&gt;Everything in between is a race against the longest day of the year.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Category
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Ode to Alan Turing
&lt;/h3&gt;

&lt;p&gt;One of the game's major locations is &lt;strong&gt;Turing's Garden&lt;/strong&gt;, a puzzle-filled maze inspired by Alan Turing's work in logic, cryptography, problem solving and Butterflies.&lt;/p&gt;

&lt;p&gt;Players solve pattern-based challenges, decode encrypted notes, and uncover a hidden ending that celebrates curiosity, imagination, and the importance of being yourself.&lt;/p&gt;

&lt;p&gt;Rather than treating Turing as a historical footnote, I wanted his influence to feel woven into the experience itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A hidden Alan Turing ending for players who collect every encrypted note!!&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Best Google AI Usage
&lt;/h3&gt;

&lt;p&gt;Google AI was used throughout the ideation and design process to explore gameplay concepts, refine puzzle ideas, shape narrative elements, and iterate on level design.&lt;/p&gt;

&lt;p&gt;The game evolved from a simple "vampire versus sunlight" concept into a journey through June celebrations, blending storytelling, puzzle mechanics, and emotional progression into a cohesive experience.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gamechallenge</category>
      <category>gamedev</category>
      <category>junesolsticegamejam</category>
    </item>
    <item>
      <title>Transfer Fees, Metadata, and Soulbound Tokens: My First Real Token Experiments on Solana</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Mon, 25 May 2026 08:45:14 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/transfer-fees-metadata-and-soulbound-tokens-my-first-real-token-experiments-on-solana-2l0</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/transfer-fees-metadata-and-soulbound-tokens-my-first-real-token-experiments-on-solana-2l0</guid>
      <description>&lt;p&gt;Coming from a Web2 background, I thought tokens were basically just “crypto coins.”&lt;/p&gt;

&lt;p&gt;After building on Solana for the past few days, I realised they’re closer to programmable economic systems.&lt;/p&gt;

&lt;p&gt;In a single week, I created:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fungible tokens&lt;/li&gt;
&lt;li&gt;tokens with on-chain metadata&lt;/li&gt;
&lt;li&gt;protocol-level transfer fees&lt;/li&gt;
&lt;li&gt;non-transferable “soulbound” tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And the craziest part?&lt;/p&gt;

&lt;p&gt;Most of it required &lt;em&gt;zero smart contract code.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Creating My First Token
&lt;/h2&gt;

&lt;p&gt;The first time this clicked was when I ran:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;spl-token create-token
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That one command created a real token mint on Solana devnet.&lt;/p&gt;

&lt;p&gt;Then I minted supply into my wallet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;spl-token mint &amp;lt;MINT_ADDRESS&amp;gt; 1000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At that moment, I had effectively created my own on-chain currency.&lt;/p&gt;

&lt;p&gt;Not a database entry.&lt;br&gt;
Not a mock project.&lt;br&gt;
An actual blockchain asset.&lt;/p&gt;


&lt;h2&gt;
  
  
  Metadata Made Tokens Feel Real
&lt;/h2&gt;

&lt;p&gt;Without metadata, tokens are just unreadable addresses.&lt;/p&gt;

&lt;p&gt;Using Token-2022, I added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a token name&lt;/li&gt;
&lt;li&gt;symbol&lt;/li&gt;
&lt;li&gt;metadata URI
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;spl-token initialize-metadata &lt;span class="se"&gt;\&lt;/span&gt;
&amp;lt;MINT_ADDRESS&amp;gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="s2"&gt;"ReinforceCoin"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="s2"&gt;"RFC"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="s2"&gt;"https://example.com/metadata.json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;That instantly made the token feel more like a real product instead of raw blockchain data.&lt;/p&gt;


&lt;h2&gt;
  
  
  Transfer Fees Were the Coolest Part
&lt;/h2&gt;

&lt;p&gt;Then I experimented with transfer fees.&lt;/p&gt;

&lt;p&gt;I created a token with a built-in 2% fee:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;spl-token create-token &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--transfer-fee-basis-points&lt;/span&gt; 200
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When I transferred 100 tokens, the recipient only received 98.&lt;/p&gt;

&lt;p&gt;The remaining 2 tokens were automatically withheld by the protocol itself.&lt;/p&gt;

&lt;p&gt;No backend.&lt;br&gt;
No middleware.&lt;br&gt;
No custom logic.&lt;/p&gt;

&lt;p&gt;The blockchain enforced the economics.&lt;/p&gt;

&lt;p&gt;That was the moment tokenomics finally made sense to me.&lt;/p&gt;


&lt;h2&gt;
  
  
  Soulbound Tokens Felt Like the Future
&lt;/h2&gt;

&lt;p&gt;The most interesting experiment was creating a non-transferable token:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;spl-token create-token &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--enable-non-transferable&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I tried transferring it to another wallet.&lt;/p&gt;

&lt;p&gt;The transaction failed instantly.&lt;/p&gt;

&lt;p&gt;Not because my app blocked it —&lt;br&gt;
because the token program itself rejected the transfer.&lt;/p&gt;

&lt;p&gt;That immediately made me think about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;certificates&lt;/li&gt;
&lt;li&gt;university credentials&lt;/li&gt;
&lt;li&gt;attendance badges&lt;/li&gt;
&lt;li&gt;KYC verification&lt;/li&gt;
&lt;li&gt;reputation systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All enforced directly on-chain.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Surprised Me Most
&lt;/h2&gt;

&lt;p&gt;The hardest part wasn’t the commands.&lt;/p&gt;

&lt;p&gt;It was understanding Solana’s account model:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;wallet addresses&lt;/li&gt;
&lt;li&gt;mint accounts&lt;/li&gt;
&lt;li&gt;token accounts&lt;/li&gt;
&lt;li&gt;associated token accounts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I kept confusing them constantly.&lt;/p&gt;

&lt;p&gt;But once that mental model clicked, the entire ecosystem started making sense.&lt;/p&gt;




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

&lt;p&gt;Before this, blockchain development felt abstract.&lt;/p&gt;

&lt;p&gt;Now it feels surprisingly practical.&lt;/p&gt;

&lt;p&gt;I’m starting to see Solana less as “crypto” and more as infrastructure for programmable ownership, incentives, and identity.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;Watching token economies work directly from the terminal was way more fun than I expected.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>beginners</category>
      <category>blockchain</category>
      <category>web3</category>
    </item>
    <item>
      <title>Why Solana’s Account Model Broke My Web2 Brain</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Tue, 19 May 2026 14:23:39 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/why-solanas-account-model-broke-my-web2-brain-2pp7</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/why-solanas-account-model-broke-my-web2-brain-2pp7</guid>
      <description>&lt;p&gt;If you come from Web2, Solana’s account model feels weird at first.&lt;br&gt;
You expect databases, backend servers, and application state living somewhere behind an API.&lt;/p&gt;

&lt;p&gt;Instead, Solana gives you one core idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Everything is an account.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Wallets are accounts.&lt;br&gt;
Programs are accounts.&lt;br&gt;
Token balances live in accounts.&lt;br&gt;
Even smart contract state is stored in accounts.&lt;/p&gt;

&lt;p&gt;Unlike Ethereum, which separates wallets and contracts, Solana uses one flat account model for everything.&lt;/p&gt;

&lt;p&gt;A Solana account has five main fields:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;lamports&lt;/strong&gt; → the SOL balance (&lt;code&gt;1 SOL = 1 billion lamports&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;data&lt;/strong&gt; → raw bytes storing account state&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;owner&lt;/strong&gt; → the program allowed to modify the account&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;executable&lt;/strong&gt; → whether the account is runnable program code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;rent_epoch&lt;/strong&gt; → deprecated field related to rent collection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest mental shift for me was understanding that:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Programs do not store their own state.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On Solana, programs are mostly stateless.&lt;br&gt;
The executable code lives in one account, while separate data accounts store application state.&lt;/p&gt;

&lt;p&gt;Coming from Web2, the best analogy I found is a filesystem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Programs = executable binaries&lt;/li&gt;
&lt;li&gt;Data accounts = files/databases&lt;/li&gt;
&lt;li&gt;System Program = operating system kernel&lt;/li&gt;
&lt;li&gt;Public keys = file paths&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Programs simply read and write to accounts they are given access to.&lt;/p&gt;

&lt;p&gt;Another interesting rule: only the owner program can modify an account’s data or debit lamports from it. But anyone can send lamports &lt;em&gt;to&lt;/em&gt; an account. That ownership model is much simpler and stricter than traditional backend permission systems.&lt;/p&gt;

&lt;p&gt;I also found Solana’s rent model surprisingly elegant. Accounts must maintain a minimum SOL balance proportional to their data size to remain on-chain. Instead of hiding storage costs behind infrastructure bills, Solana exposes them directly at the protocol level.&lt;/p&gt;

&lt;p&gt;The coolest part is realizing how transparent the system is.&lt;br&gt;
Using Solana Explorer or RPC calls, you can inspect accounts, transactions, balances, program interactions, and state changes in real time.&lt;/p&gt;

&lt;p&gt;At some point it stopped feeling like “using a blockchain” and started feeling like debugging a distributed operating system.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>blockchain</category>
      <category>web3</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Why Solana Transactions Feel More Like Database Commits Than API Calls</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Sat, 09 May 2026 14:35:25 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/why-solana-transactions-feel-more-like-database-commits-than-api-calls-4ign</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/why-solana-transactions-feel-more-like-database-commits-than-api-calls-4ign</guid>
      <description>&lt;p&gt;The first time I sent a Solana transaction, I expected it to behave like a normal API request:&lt;/p&gt;

&lt;p&gt;Send request → wait → success/failure.&lt;/p&gt;

&lt;p&gt;But after debugging failed transactions on devnet, inspecting logs in Solana Explorer, and manually tracking confirmations, I realised &lt;strong&gt;Solana transactions behave much more like database commits than HTTP calls&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That mental model shift finally made blockchain development click for me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Solana Transaction Is More Than a Request&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A transaction contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;signatures (authorization)&lt;/li&gt;
&lt;li&gt;instructions (operations)&lt;/li&gt;
&lt;li&gt;account keys (state involved)&lt;/li&gt;
&lt;li&gt;a recent blockhash (replay protection)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unlike a typical API request handled by one server, every validator in the network verifies and executes the transaction independently before agreeing on the final state change.&lt;/p&gt;

&lt;p&gt;That’s a completely different architecture from most Web2 systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Failed Transactions Taught Me the Most
&lt;/h2&gt;

&lt;p&gt;What surprised me most was that failed transactions still exist on-chain.&lt;/p&gt;

&lt;p&gt;Even when a transfer fails, the transaction can still:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;have a signature&lt;/li&gt;
&lt;li&gt;consume compute units&lt;/li&gt;
&lt;li&gt;generate logs&lt;/li&gt;
&lt;li&gt;charge fees&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I intentionally triggered failed transactions on devnet and inspected them in Solana Explorer. Seeing execution traces and program logs for a failed transfer felt less like debugging an API request and more like analysing a distributed database operation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Solana Transactions Are Atomic
&lt;/h2&gt;

&lt;p&gt;This was another huge difference.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Web2 systems&lt;/strong&gt;, partial failures happen all the time. One service succeeds, another fails, and retries happen later.&lt;/p&gt;

&lt;p&gt;On Solana, &lt;strong&gt;transactions are atomic&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;Either every instruction succeeds&lt;br&gt;
or the entire transaction rolls back&lt;/p&gt;

&lt;p&gt;But validators still charge fees because the network still processes the workload.&lt;/p&gt;

&lt;p&gt;That behaviour reminded me much more of SQL transaction commits than REST APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Takeaway
&lt;/h2&gt;

&lt;p&gt;The biggest challenge in learning Solana wasn’t the SDK or RPC calls.&lt;/p&gt;

&lt;p&gt;It was changing how I think about state changes.&lt;/p&gt;

&lt;p&gt;Once I stopped viewing &lt;strong&gt;transactions&lt;/strong&gt; as API requests and started viewing them as &lt;strong&gt;signed, atomic, distributed state transitions&lt;/strong&gt;, everything started making more sense.&lt;/p&gt;

&lt;p&gt;And honestly, that shift is what makes blockchain development interesting in the first place.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>blockchain</category>
      <category>web3</category>
      <category>mlh</category>
    </item>
    <item>
      <title>From Skeptic to Builder: My First Two Weeks with Solana</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Sun, 03 May 2026 09:37:24 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/from-skeptic-to-builder-my-first-two-weeks-with-solana-2ap9</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/from-skeptic-to-builder-my-first-two-weeks-with-solana-2ap9</guid>
      <description>&lt;p&gt;Coming into Solana, I expected blockchain development to feel abstract and overly complicated. I assumed everything would revolve around tokens, wallets, and buzzwords that sounded impressive but didn’t translate well into actual engineering. Week 2 changed that perspective completely.&lt;/p&gt;

&lt;p&gt;The biggest shift happened when I started reading on-chain data directly. Querying a wallet balance through RPC and fetching recent transactions felt surprisingly familiar. It reminded me of calling APIs in traditional development, except the source of truth wasn’t a private backend server; it was a public network anyone could inspect. That was probably the first moment blockchain started to feel real to me.&lt;/p&gt;

&lt;p&gt;Another concept that clicked was Solana’s account model. At first, hearing “everything is an account” sounded vague. But comparing it to databases helped a lot. Wallets, programs, and stored state all exist as accounts with owners, permissions, and data. Instead of rows in tables controlled by one company, the data lives on a distributed ledger. Once I looked at it through that lens, it became much easier to understand.&lt;/p&gt;

&lt;p&gt;I was also surprised by how developer-friendly some of the tooling felt. Using JavaScript to connect to devnet, fetch balances, and build a small browser dashboard made Solana feel less intimidating. It wasn’t some unreachable ecosystem; it was something I could interact with using tools I already know.&lt;/p&gt;

&lt;p&gt;What’s still confusing? Smart contracts/program architecture at scale, Program Derived Addresses, and how advanced apps structure state efficiently. I understand the basics now, but I know there’s another layer of depth ahead.&lt;/p&gt;

&lt;p&gt;What I want to learn next is the write side of blockchain development: sending transactions, interacting with programs, and eventually building full dApps.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two weeks in, my biggest takeaway is this: blockchain stopped feeling like hype and started feeling like infrastructure.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>solana</category>
      <category>web3</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>No Logins, No Passwords: How Identity Actually Works on Solana</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Sun, 26 Apr 2026 16:25:34 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/no-logins-no-passwords-how-identity-actually-works-on-solana-16kb</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/no-logins-no-passwords-how-identity-actually-works-on-solana-16kb</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.amazonaws.com%2Fuploads%2Farticles%2Fomc66vwg0vuajwv0fapp.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%2Fomc66vwg0vuajwv0fapp.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re coming from &lt;strong&gt;Web2&lt;/strong&gt;, identity typically refers to &lt;strong&gt;usernames, email addresses, and passwords stored in a database&lt;/strong&gt;. You sign up, log in, and a platform tells the system who you are.&lt;/p&gt;

&lt;p&gt;On &lt;strong&gt;Solana (and blockchains in general)&lt;/strong&gt;, that model doesn’t exist.&lt;/p&gt;

&lt;p&gt;There are &lt;strong&gt;no usernames&lt;/strong&gt;.&lt;br&gt;
There are &lt;strong&gt;no accounts owned by platforms&lt;/strong&gt;.&lt;br&gt;
There is &lt;strong&gt;no central authority verifying identity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead, &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;your identity is your keypair.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Identity = A Digital Signature
&lt;/h2&gt;

&lt;p&gt;The way this clicked for me was thinking about real-world signatures.&lt;/p&gt;

&lt;p&gt;When you sign a document:&lt;br&gt;
&lt;strong&gt;Anyone can see your signature&lt;br&gt;
But only you can create it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s what proves you authorised something.&lt;/p&gt;

&lt;p&gt;Solana works the same way, just digitally.&lt;/p&gt;

&lt;p&gt;Your &lt;em&gt;private key&lt;/em&gt; = your ability to sign&lt;br&gt;
Your &lt;em&gt;public key&lt;/em&gt; = what others use to verify that signature&lt;/p&gt;

&lt;p&gt;You don’t log into Solana.&lt;br&gt;
You sign things, and the network verifies that signature.&lt;/p&gt;
&lt;h2&gt;
  
  
  No Usernames, Just Public Keys
&lt;/h2&gt;

&lt;p&gt;Instead of usernames, you get something like this:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;This public key:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is globally unique&lt;/li&gt;
&lt;li&gt;Doesn’t require registration&lt;/li&gt;
&lt;li&gt;Isn’t stored in someone else’s database
You generate it locally, and from that moment on:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That &lt;strong&gt;key represents you everywhere on-chain&lt;/strong&gt;.&lt;br&gt;
No one issues it.&lt;br&gt;
No one can take it away.&lt;/p&gt;

&lt;p&gt;In Web2:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Platforms control your account&lt;/li&gt;
&lt;li&gt;They can lock you out&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On Solana:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Only your private key can authorise actions&lt;/li&gt;
&lt;li&gt;No company sits in the middle&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ownership is cryptographic, not permission-based.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But there’s a tradeoff:&lt;br&gt;
&lt;strong&gt;Lose your key → lose access&lt;/strong&gt;&lt;br&gt;
No recovery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Every Action Is a Signature&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send SOL&lt;/li&gt;
&lt;li&gt;Interact with a program&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’re doing one thing: Signing a transaction&lt;br&gt;
The network verifies it and executes the action.&lt;br&gt;
No sessions. No cookies. Just signatures.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Apps Recognise You
&lt;/h2&gt;

&lt;p&gt;Instead of “Sign in,” dApps use:&lt;br&gt;
&lt;strong&gt;“Connect Wallet”&lt;/strong&gt;&lt;br&gt;
They read your public key and use that as your identity.&lt;br&gt;
If needed, you sign a message to prove ownership.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;The biggest shift is this:&lt;br&gt;
In Web2, platforms give you identity.&lt;br&gt;
In Solana, you own it.&lt;/p&gt;

&lt;p&gt;Your wallet isn’t just a tool.&lt;br&gt;
It’s your identity and your ability to prove it.&lt;/p&gt;

</description>
      <category>100daysofsolana</category>
      <category>solana</category>
      <category>web3</category>
      <category>mlh</category>
    </item>
    <item>
      <title>gh-excavate: Unearthing Code with GitHub Copilot</title>
      <dc:creator>Anika Jha</dc:creator>
      <pubDate>Sat, 07 Feb 2026 17:16:59 +0000</pubDate>
      <link>https://dev.to/anika_jha_33ae1d9afc69178/gh-excavate-unearthing-code-with-github-copilot-3cml</link>
      <guid>https://dev.to/anika_jha_33ae1d9afc69178/gh-excavate-unearthing-code-with-github-copilot-3cml</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-01-21"&gt;GitHub Copilot CLI Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;em&gt;Stuck with an unknown repository at 2 AM?&lt;br&gt;
Accidentally deleted production code and trying to figure out what it even did?&lt;br&gt;
Inherited a codebase with zero documentation?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We’ve all been there.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;gh-excavate — an AI-powered GitHub CLI extension&lt;/strong&gt; designed for code archaeology.&lt;/p&gt;

&lt;p&gt;It’s a &lt;strong&gt;terminal-native assistant&lt;/strong&gt; that helps you understand not just what code does, but why it exists.&lt;/p&gt;

&lt;p&gt;Instead of manually browsing commits, scanning files, and piecing together context, you run a single command and gh-excavate digs through the repository for you.&lt;/p&gt;

&lt;p&gt;It can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyse a repository or folder to explain its purpose, architecture, and risks&lt;/li&gt;
&lt;li&gt;Trace the life of a file from creation to deletion&lt;/li&gt;
&lt;li&gt;Detect likely dead or forgotten code&lt;/li&gt;
&lt;li&gt;Help investigate “why does this exist?” moments&lt;/li&gt;
&lt;li&gt;Work on both local paths and remote GitHub repositories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The CLI handles the structure.&lt;br&gt;
Git handles the history.&lt;br&gt;
GitHub Copilot is the brain and soul of the operation, aka &lt;strong&gt;the reasoning engine&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Copilot synthesises context, interprets intent, and transforms raw code and git history into &lt;strong&gt;human-level explanations directly in the terminal&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;gh-excavate&lt;/em&gt; &lt;strong&gt;doesn’t just read code.It interprets it&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;Repository:&lt;br&gt;
&lt;strong&gt;[gh-excavate]&lt;/strong&gt;(&lt;a href="https://github.com/Anika-Jha/gh-excavate" rel="noopener noreferrer"&gt;https://github.com/Anika-Jha/gh-excavate&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;gh-excavate is a GitHub CLI extension. Once installed, it runs directly inside your terminal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation&lt;/strong&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%2Fe4916ca8rzc5iq89yj7f.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%2Fe4916ca8rzc5iq89yj7f.png" alt=" " width="800" height="547"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verification&lt;/strong&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%2Fw62mmy1d5xqg5fblo1bf.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%2Fw62mmy1d5xqg5fblo1bf.png" alt=" " width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commands&lt;/strong&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%2Fbi1nuj4zjp6ceru2i16s.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%2Fbi1nuj4zjp6ceru2i16s.png" alt=" " width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example runs&lt;/strong&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%2Faisoei2eq8xj5kg80k53.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%2Faisoei2eq8xj5kg80k53.png" alt=" " width="800" height="477"&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%2Fmnh08gckt9pd2gwrbcjt.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%2Fmnh08gckt9pd2gwrbcjt.png" alt=" " width="800" height="250"&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%2F49cx14rgyxf5ckq9lpjv.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%2F49cx14rgyxf5ckq9lpjv.png" alt=" " width="800" height="448"&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%2F42onvg8dhmma82292mej.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%2F42onvg8dhmma82292mej.png" alt=" " width="800" height="589"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;GitHub Copilot CLI fundamentally changed how I approached building this project.&lt;/p&gt;

&lt;p&gt;Instead of relying on brittle heuristics and heavy parsing logic alone, I focused on designing meaningful prompts, extracting the right context from Git history, and structuring the CLI intelligently — while Copilot handled deeper reasoning.&lt;/p&gt;

&lt;p&gt;Copilot became:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The interpretation engine&lt;/li&gt;
&lt;li&gt;The architectural analyst&lt;/li&gt;
&lt;li&gt;The technical historian&lt;/li&gt;
&lt;li&gt;The context synthesiser&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;gh-excavate gathers the evidence&lt;/strong&gt; — commit logs, file history, structural context. &lt;strong&gt;Copilot CLI connects the dots&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The most important realisation during development was this: the real problem isn’t accessing code — it’s understanding intent. &lt;strong&gt;Git tells you what changed. Copilot helps reason about why&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Working directly in the terminal with Copilot felt natural and developer-native. I could validate Git commands, reason about edge cases like file deletions, and refine workflows without leaving the CLI.&lt;/p&gt;

&lt;p&gt;This project isn’t just about automation.&lt;br&gt;
It’s about augmenting developer cognition.&lt;/p&gt;

&lt;p&gt;Because when you're lost in a codebase, you don’t need autocomplete.&lt;/p&gt;

&lt;p&gt;You need understanding.&lt;/p&gt;

&lt;p&gt;Code ages. Context fades.&lt;br&gt;
gh-excavate helps bring it back.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;** When the git log gets cryptic, and production is on fire — excavate. Because “Who wrote this?” is not a strategy.**&lt;br&gt;
**&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
  </channel>
</rss>
