<?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: Tanmay Patwary</title>
    <description>The latest articles on DEV Community by Tanmay Patwary (@tancodex).</description>
    <link>https://dev.to/tancodex</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%2F3956875%2F95d75941-adf5-4e27-ab0a-50aa5d39a20e.jpeg</url>
      <title>DEV Community: Tanmay Patwary</title>
      <link>https://dev.to/tancodex</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tancodex"/>
    <language>en</language>
    <item>
      <title>We built an AI-powered scout for open source. Meet OpenScOut.</title>
      <dc:creator>Tanmay Patwary</dc:creator>
      <pubDate>Thu, 16 Jul 2026 11:07:08 +0000</pubDate>
      <link>https://dev.to/tancodex/we-built-an-ai-powered-scout-for-open-source-meet-openscout-opo</link>
      <guid>https://dev.to/tancodex/we-built-an-ai-powered-scout-for-open-source-meet-openscout-opo</guid>
      <description>&lt;h2&gt;
  
  
  We built OpenScOut because finding a good open-source project shouldn't be harder than contributing to one
&lt;/h2&gt;

&lt;p&gt;If you've ever tried to make your first (or fiftieth) open-source contribution, you know the drill.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You find a repository that looks interesting.&lt;/li&gt;
&lt;li&gt;You open the issues tab hoping for a "good first issue."&lt;/li&gt;
&lt;li&gt;The last commit was over a year ago.&lt;/li&gt;
&lt;li&gt;The maintainer hasn't responded in months.&lt;/li&gt;
&lt;li&gt;You close the tab and go back to scrolling GitHub.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After a while, "I'll contribute to open source someday" quietly becomes another unfinished goal.&lt;/p&gt;

&lt;p&gt;We got tired of that experience, so we started building &lt;strong&gt;OpenScOut&lt;/strong&gt;—a platform that helps developers discover active, beginner-friendly, and well-maintained open-source projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;Finding a project isn't difficult.&lt;/p&gt;

&lt;p&gt;Finding one that's &lt;strong&gt;active&lt;/strong&gt;, &lt;strong&gt;welcoming&lt;/strong&gt;, and &lt;strong&gt;worth investing your time in&lt;/strong&gt; is.&lt;/p&gt;

&lt;p&gt;Most developers only realize a repository is inactive after they've already spent time understanding the codebase.&lt;/p&gt;

&lt;h2&gt;
  
  
  What OpenScOut does
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔍 Smart Repository Discovery
&lt;/h3&gt;

&lt;p&gt;Search repositories using filters like language, stars, forks, and recent activity to find projects that match your skills.&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 AI Repo Scout
&lt;/h3&gt;

&lt;p&gt;Analyze any GitHub repository and receive an &lt;strong&gt;A–F contribution readiness score&lt;/strong&gt; based on project health, maintainer responsiveness, issue quality, activity, and more.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎯 GSoC Hub
&lt;/h3&gt;

&lt;p&gt;Browse Google Summer of Code organizations and project ideas from one place instead of jumping across multiple websites.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why we're building this
&lt;/h2&gt;

&lt;p&gt;We believe developers should spend more time &lt;strong&gt;building and contributing&lt;/strong&gt; than deciding whether a repository is worth contributing to.&lt;/p&gt;

&lt;p&gt;OpenScOut is still in active development, and we're building it alongside the community. If you've ever struggled to find the right open-source project, we'd love your feedback.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Follow the journey
&lt;/h2&gt;

&lt;p&gt;We'll be sharing development updates, new features, and the launch over on LinkedIn.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Follow the journey here:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/posts/tanmaypatwary_opensc0ut-ugcPost-7483424074640023552-tR_z?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAEzssHQB_Gtm6KxDjQEnZDhFJh09-8bipwk" rel="noopener noreferrer"&gt;Follow OpenScOut on LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have ideas, feature requests, or want early access, leave a comment below—we'd love to hear from you.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Building in public, one repo at a time.&lt;/em&gt; 🚀&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ai</category>
      <category>webdev</category>
      <category>github</category>
    </item>
    <item>
      <title>Ever wish you had a personal drill sergeant or a dramatic movie narrator to hype you up before a big task? I built an app for that. 🗣️🔥 Built with React, Gemini, and ElevenLabs for the Passion Weekend Challenge!</title>
      <dc:creator>Tanmay Patwary</dc:creator>
      <pubDate>Sun, 12 Jul 2026 17:47:48 +0000</pubDate>
      <link>https://dev.to/tancodex/ever-wish-you-had-a-personal-drill-sergeant-or-a-dramatic-movie-narrator-to-hype-you-up-before-a-db</link>
      <guid>https://dev.to/tancodex/ever-wish-you-had-a-personal-drill-sergeant-or-a-dramatic-movie-narrator-to-hype-you-up-before-a-db</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814" class="crayons-story__hidden-navigation-link"&gt;I Built an AI That Yells at You (In a Good Way) Using ElevenLabs &amp;amp; Gemini&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814" class="crayons-article__context-note crayons-article__context-note__feed"&gt;&lt;p&gt;DEV Weekend Challenge: Passion Edition 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="/tancodex" 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%2F3956875%2F95d75941-adf5-4e27-ab0a-50aa5d39a20e.jpeg" alt="tancodex profile" class="crayons-avatar__image" width="460" height="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/tancodex" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Tanmay Patwary
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Tanmay Patwary
                
              
              &lt;div id="story-author-preview-content-4127208" 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="/tancodex" 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%2F3956875%2F95d75941-adf5-4e27-ab0a-50aa5d39a20e.jpeg" class="crayons-avatar__image" alt="" width="460" height="460"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Tanmay Patwary&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/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jul 12&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/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814" id="article-link-4127208"&gt;
          I Built an AI That Yells at You (In a Good Way) Using ElevenLabs &amp;amp; Gemini
        &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/weekendchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;weekendchallenge&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/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814" 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/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/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.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;3&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/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814#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;
            1 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>ai</category>
      <category>devchallenge</category>
      <category>react</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Built an AI That Yells at You (In a Good Way) Using ElevenLabs &amp; Gemini</title>
      <dc:creator>Tanmay Patwary</dc:creator>
      <pubDate>Sun, 12 Jul 2026 17:43:15 +0000</pubDate>
      <link>https://dev.to/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814</link>
      <guid>https://dev.to/tancodex/i-built-an-ai-that-yells-at-you-in-a-good-way-using-elevenlabs-gemini-3814</guid>
      <description>&lt;p&gt;*This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-07-09"&gt;Weekend Challenge: Passion Edition*&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Locker Room&lt;/strong&gt; is an AI-powered hype machine that generates personalized, emotional pep talks before you tackle your passions. Tell it what you're facing, pick a "Cornerman" (like a Coach or Narrator), and it creates a custom spoken audio tape alongside dynamically generated retro cassette artwork.&lt;/p&gt;

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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://locker-room-ecru.vercel.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;locker-room-ecru.vercel.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


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


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/TanCodeX" rel="noopener noreferrer"&gt;
        TanCodeX
      &lt;/a&gt; / &lt;a href="https://github.com/TanCodeX/locker-room" rel="noopener noreferrer"&gt;
        locker-room
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🎙️ Locker Room&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;"Select your intent, choose your persona, and get the exact hype you need before you step onto the field."&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Locker Room is the ultimate hype-machine, built specifically for the &lt;strong&gt;DEV Weekend Challenge: Passion&lt;/strong&gt;. Whether you are playing your bitter rivals in a Sunday league championship, watching your nation in a World Cup penalty shootout, or shipping your passion side-project to Product Hunt at midnight—Locker Room gives you a fully custom, intense, AI-voiced pep talk to fuel your fire.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🏆 Prize Categories Targeted&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. Best use of Google AI&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;Locker Room leans heavily into &lt;strong&gt;Gemini 3.5 Flash&lt;/strong&gt; for its extreme speed and creative abilities, using it for two completely different critical tasks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Director:&lt;/strong&gt; Gemini takes your intense scenario and acts as a theatrical director, writing a 150-word pre-game pep talk tailored specifically to your chosen coach's persona. It even injects stage directions (&lt;code&gt;[shouts]&lt;/code&gt;, &lt;code&gt;[whispers]&lt;/code&gt;…&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/TanCodeX/locker-room" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tech Stack:&lt;/strong&gt; Built with React, Tailwind CSS, Node.js, and Express.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parallel AI Generation:&lt;/strong&gt; A single request triggers Gemini to simultaneously write the speech text (injecting emotional tags like &lt;code&gt;[shouts]&lt;/code&gt;) and generate raw SVG markup for the cassette art.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Audio:&lt;/strong&gt; ElevenLabs parses the text and tags for intense voice acting. If rate limits hit, the server seamlessly falls back to Gemini's native Audio Modality (&lt;code&gt;gemini-3.1-flash-tts-preview&lt;/code&gt;) to generate the voice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Visualizer:&lt;/strong&gt; The frontend hooks into the browser's &lt;code&gt;AudioContext&lt;/code&gt; to map live frequency data to a 36-bar animated equalizer during playback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Voice Input:&lt;/strong&gt; Integrated the Web Speech API so users can dictate their scenarios directly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Google AI:&lt;/strong&gt; Leveraged &lt;code&gt;gemini-3.5-flash&lt;/code&gt; for simultaneous creative writing and complex SVG generation, and implemented the &lt;code&gt;@google/genai&lt;/code&gt; SDK's &lt;code&gt;Modality.AUDIO&lt;/code&gt; feature as a resilient server-side TTS fallback engine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of ElevenLabs:&lt;/strong&gt; Powered the core audio with &lt;code&gt;eleven_v3&lt;/code&gt;, mapping four distinct personas to specific voices and utilizing LLM-injected performance tags to maximize the engine's emotional range.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
    </item>
    <item>
      <title>INTAB: Zero Servers, Zero Compromises. A WebAssembly IDE in Your Browser.</title>
      <dc:creator>Tanmay Patwary</dc:creator>
      <pubDate>Thu, 28 May 2026 19:08:17 +0000</pubDate>
      <link>https://dev.to/tancodex/intab-zero-servers-zero-compromises-a-webassembly-ide-in-your-browser-4c1j</link>
      <guid>https://dev.to/tancodex/intab-zero-servers-zero-compromises-a-webassembly-ide-in-your-browser-4c1j</guid>
      <description>&lt;h2&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;/h2&gt;

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

&lt;p&gt;I built INTAB, a high-performance, fully in-browser Integrated Development Environment (IDE) powered by WebAssembly, Web Workers, React, Vite, and Monaco.&lt;/p&gt;

&lt;p&gt;The overarching goal was simple: &lt;strong&gt;"Zero servers. Zero installs. Zero compromises."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It started as an ambitious experiment to see if we could completely eliminate the need for remote backend instances or containers just to write and run code. We ended up integrating WASM-based local execution for JavaScript, TypeScript, Python, C, C++, Postgres, and SQLite! It also scales up to function as a desktop app via an Electron wrapper.&lt;/p&gt;

&lt;p&gt;For me (and our team, 4 Bytes), INTAB represents removing friction. It allows anyone, regardless of local computing power, network quality, or OS setup, to jump straight into a capable code playground right from their browser.&lt;/p&gt;

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


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://intab.vercel.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;intab.vercel.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


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

&lt;p&gt;INTAB was a massive initial undertaking, but midway through development, we hit a plateau balancing the complexity of the Virtual File System (VFS) and the user experience. Before the Finish-Up challenge, we had foundational OPFS (Origin Private File System) persistence and a basic file tree, but crucial features were missing or buggy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a browser didn't support OPFS, the application simply failed.&lt;/li&gt;
&lt;li&gt;Files couldn't be easily organized via drag-and-drop.&lt;/li&gt;
&lt;li&gt;There was no bridge to import from or export to the real local filesystem effectively.&lt;/li&gt;
&lt;li&gt;The VS Code-like Extensions marketplace UI and Version Control flows were buggy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To finish it up, I implemented a massive sprint to harden the architecture and UX:&lt;/p&gt;

&lt;h3&gt;
  
  
  Bulletproof VFS
&lt;/h3&gt;

&lt;p&gt;I implemented a robust IndexedDB fallback for environments where OPFS isn't available, preserving the user's workspace reliably.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quality of Life
&lt;/h3&gt;

&lt;p&gt;I added intuitive drag-and-drop movement for files and folders directly inside the tree structure, and hardened recursive file deletion to clean up active tabs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Local File Bridges
&lt;/h3&gt;

&lt;p&gt;I built an import pipeline from the real filesystem (using hidden inputs) and an export pipeline (&lt;code&gt;showSaveFilePicker&lt;/code&gt; with a download fallback).&lt;/p&gt;

&lt;h3&gt;
  
  
  Editor Enhancements
&lt;/h3&gt;

&lt;p&gt;I shipped massive extension UI improvements, repaired syntax highlighting, polished the workspace switching interface, and thoroughly debugged the Git/version control integrations.&lt;/p&gt;

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

&lt;p&gt;GitHub Copilot was the ultimate pair programmer for getting INTAB over the finish line.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bridging the VFS gap
&lt;/h3&gt;

&lt;p&gt;Writing the IndexedDB fallback logic and matching it to our OPFS adapter contract would have been hours of tedious boilerplate. Copilot essentially read our adapter interfaces and predicted the entire fallback class structure perfectly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Taming Complex UI
&lt;/h3&gt;

&lt;p&gt;Implementing tree-based drag-and-drop is notoriously finicky. Copilot massively simplified this by suggesting the correct React state management and the complex recursive cleanup logic required when moving or deleting active editor tabs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Seamless Context
&lt;/h3&gt;

&lt;p&gt;Whether I was jumping between Electron IPC listeners in &lt;code&gt;main.cjs&lt;/code&gt;, debugging our C++ Emception worker in &lt;code&gt;emceptionRuntime.worker.ts&lt;/code&gt;, or styling the &lt;code&gt;ExtensionsPanel.tsx&lt;/code&gt;, Copilot retained the context of the architecture and suggested idiomatic code for that specific layer. It confidently helped me debug version control anomalies and shipped extensions flawlessly.&lt;/p&gt;

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