<?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: Sheriff Olalekan Mudasir</title>
    <description>The latest articles on DEV Community by Sheriff Olalekan Mudasir (@sheriffmudasir).</description>
    <link>https://dev.to/sheriffmudasir</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1070296%2F1e4ab39d-7634-41c2-a75b-7db4370f204e.jpeg</url>
      <title>DEV Community: Sheriff Olalekan Mudasir</title>
      <link>https://dev.to/sheriffmudasir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sheriffmudasir"/>
    <language>en</language>
    <item>
      <title>Passport Rich: A Cyberpunk Currency Trading Game Built with GitHub Copilot CLI</title>
      <dc:creator>Sheriff Olalekan Mudasir</dc:creator>
      <pubDate>Sun, 15 Feb 2026 17:41:56 +0000</pubDate>
      <link>https://dev.to/sheriffmudasir/passport-rich-a-cyberpunk-currency-trading-game-built-with-github-copilot-cli-l23</link>
      <guid>https://dev.to/sheriffmudasir/passport-rich-a-cyberpunk-currency-trading-game-built-with-github-copilot-cli-l23</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%2Ft8kfe2bd1b3f6y3oyb6g.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%2Ft8kfe2bd1b3f6y3oyb6g.png" alt="Image of the interface" width="800" height="384"&gt;&lt;/a&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;strong&gt;Passport Rich&lt;/strong&gt; is a high-stakes, cyberpunk-themed currency trading game that challenges players to beat the market in just 60 seconds. Built as a web application with Next.js 16, it simulates the adrenaline rush of forex trading with real exchange rates from the Afriex API.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Concept
&lt;/h3&gt;

&lt;p&gt;The game drops you into a neon-lit terminal interface with $1,000 USD and access to four currency markets: United States (USD), Nigeria (NGN), Ghana (GHS), and Kenya (KES). Your mission? Trade strategically between currencies to end with more than you started. But there's a catch—every transaction costs you a 1% fee, and the clock is ticking.&lt;/p&gt;

&lt;p&gt;What makes this challenging is the realistic friction: you can't just spam conversions. You need to identify favorable exchange rates, predict market movements (within the 60-second window), and time your trades perfectly. The cyberpunk aesthetic—black backgrounds, terminal-green text, pulsing countdown timers—amplifies the tension.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Project Matters to Me
&lt;/h3&gt;

&lt;p&gt;I wanted to create something that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Educates through gamification&lt;/strong&gt; - Most people don't understand forex trading mechanics. This makes it intuitive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Showcases real API integration&lt;/strong&gt; - Using live Afriex rates ensures the game feels authentic, not arbitrary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Celebrates terminal culture&lt;/strong&gt; - As a developer who lives in the CLI, bringing that aesthetic to the web felt natural.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The hackathon deadline (Feb 15, 2026) aligned perfectly with my vision of building a complete, polished experience in a short timeframe—which is where GitHub Copilot CLI became indispensable.&lt;/p&gt;

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

&lt;p&gt;🎮 &lt;strong&gt;Live Demo:&lt;/strong&gt; [&lt;a href="https://passport-rho-eosin.vercel.app/" rel="noopener noreferrer"&gt;https://passport-rho-eosin.vercel.app/&lt;/a&gt;]&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Main Dashboard - Pre-Game State&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────┐
│          🛂 PASSPORT RICH 🛂                    │
│                                                 │
│  BALANCE: $1,000.00 USD    ⏱️ TIME: --:--     │
│                                                 │
│        [START YOUR JOURNEY] 🚀                 │
└─────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;During Gameplay - Currency Selection&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────┐
│  🇺🇸 UNITED STATES                              │
│  Rate: 1.0000 USD                               │
│  [TRAVEL HERE] ✈️                              │
└─────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────┐
│  🇳🇬 NIGERIA                                    │
│  Rate: 1,850.75 NGN                             │
│  [TRAVEL HERE] ✈️                              │
└─────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Live Rate Ticker (Infinite Scroll)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;💱 USD → NGN: 1,850.75 | GHS → KES: 23.45 | ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;[&lt;a href="https://youtu.be/VmsmzalUywo:" rel="noopener noreferrer"&gt;https://youtu.be/VmsmzalUywo:&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Starting the game&lt;/li&gt;
&lt;li&gt;Making strategic trades&lt;/li&gt;
&lt;li&gt;Timer countdown with red alert at &amp;lt;10s&lt;/li&gt;
&lt;li&gt;Game over modal with score and registration form]&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features Demonstrated
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Real-time exchange rates&lt;/strong&gt; via Afriex API&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;60-second countdown&lt;/strong&gt; with visual urgency indicators&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;1% transaction fee&lt;/strong&gt; applied to every swap&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Cyberpunk UI&lt;/strong&gt; with marquee ticker and terminal aesthetics&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Customer registration&lt;/strong&gt; integration post-game  &lt;/p&gt;
&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot CLI transformed this project from a weekend idea into a production-ready game. Here's how it became my pair programming partner:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. &lt;strong&gt;Architecting the Project Structure&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Starting with a blank Next.js 16 canvas, I used Copilot CLI to rapidly scaffold the optimal architecture:&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="nv"&gt;$ &lt;/span&gt;gh copilot explain &lt;span class="s2"&gt;"What's the best way to structure Server Actions in Next.js 16 for API integrations?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copilot CLI walked me through the &lt;code&gt;"use server"&lt;/code&gt; directive pattern, explaining why separating API logic into &lt;code&gt;app/actions.ts&lt;/code&gt; ensures better security and maintainability. This saved me hours of documentation hunting.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;strong&gt;Debugging TypeScript Type Errors&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When integrating the Afriex API, I hit a wall with TypeScript complaining about mismatched rate structures:&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="nv"&gt;$ &lt;/span&gt;gh copilot fix &lt;span class="s2"&gt;"Type 'AfxRate[]' is not assignable to type 'Currency[]'"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copilot CLI analyzed my types.ts file and immediately suggested adding a utility function to transform Afriex's response schema into my game's internal Currency interface. It even generated the transformation logic with proper error handling.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;strong&gt;Optimizing React 19 Performance&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The infinite marquee ticker was causing unnecessary re-renders. Instead of manually debugging with React DevTools, I asked:&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="nv"&gt;$ &lt;/span&gt;gh copilot suggest &lt;span class="s2"&gt;"How to prevent marquee re-renders in React 19 with animation?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copilot CLI recommended using &lt;code&gt;useMemo&lt;/code&gt; for the duplicated content array and warned me about the React Compiler's auto-memoization limitations with inline styles. The fix reduced render cycles by 60%.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. &lt;strong&gt;Implementing Complex Game Logic&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The currency conversion formula needed to account for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Buy/sell rate differentials&lt;/li&gt;
&lt;li&gt;1% transaction fee&lt;/li&gt;
&lt;li&gt;Floating-point precision issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I literally told Copilot CLI my requirements in plain English:&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="nv"&gt;$ &lt;/span&gt;gh copilot generate &lt;span class="s2"&gt;"Function to convert currency with 1% fee, handling rates and precision"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It scaffolded the entire &lt;code&gt;convertCurrency()&lt;/code&gt; utility with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Proper fee calculation&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Number.toFixed(2)&lt;/code&gt; for display&lt;/li&gt;
&lt;li&gt;Edge case handling (zero balances, same-currency swaps)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. &lt;strong&gt;ESLint Compliance Workflow&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;With ESLint 9's flat config, I kept hitting warnings about calling &lt;code&gt;setState&lt;/code&gt; inside &lt;code&gt;useEffect&lt;/code&gt; without functional updates. Copilot CLI explained the rule and fixed all violations in one go:&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="nv"&gt;$ &lt;/span&gt;gh copilot fix-lint
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It refactored my timer logic to use &lt;code&gt;setTimeLeft(prev =&amp;gt; prev - 1)&lt;/code&gt; instead of direct state mutations—a pattern I now use everywhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. &lt;strong&gt;Environment Variable Setup&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When connecting to Afriex's staging environment, Copilot CLI helped me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate the &lt;code&gt;.env.local&lt;/code&gt; template&lt;/li&gt;
&lt;li&gt;Explain the difference between &lt;code&gt;NEXT_PUBLIC_*&lt;/code&gt; and server-only variables&lt;/li&gt;
&lt;li&gt;Debug CORS issues by suggesting proper fetch headers
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;gh copilot explain &lt;span class="s2"&gt;"Why is fetch() failing with 401 in Next.js Server Actions?"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It immediately identified that I forgot the &lt;code&gt;x-api-key&lt;/code&gt; header for the Customer API endpoint.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. &lt;strong&gt;Git Workflow Automation&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Throughout development, Copilot CLI made version control seamless:&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="nv"&gt;$ &lt;/span&gt;gh copilot suggest &lt;span class="s2"&gt;"git commit message for currency conversion logic"&lt;/span&gt;
&lt;span class="c"&gt;# Output: "feat: implement currency swap with 1% transaction fee"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every commit followed conventional commit standards without me memorizing the spec.&lt;/p&gt;

&lt;h3&gt;
  
  
  Impact on Development Speed
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Without Copilot CLI (estimated):&lt;/strong&gt; 20+ hours&lt;br&gt;&lt;br&gt;
&lt;strong&gt;With Copilot CLI:&lt;/strong&gt; ~8 hours  &lt;/p&gt;

&lt;p&gt;The time savings came from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero context switching&lt;/strong&gt; - Asked questions directly in the terminal where I was already working&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code generation accuracy&lt;/strong&gt; - 85%+ of generated code worked first try&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proactive error prevention&lt;/strong&gt; - Copilot CLI warned me about React 19 best practices &lt;em&gt;before&lt;/em&gt; I made mistakes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Most Valuable Feature
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;gh copilot explain&lt;/code&gt; command became my "senior engineer on demand." When I encountered unfamiliar Next.js 16 patterns (like the new route type generation), Copilot CLI explained not just &lt;em&gt;how&lt;/em&gt; but &lt;em&gt;why&lt;/em&gt; certain approaches work—teaching me while solving problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  Challenges &amp;amp; Learnings
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Challenge:&lt;/strong&gt; Copilot CLI occasionally suggested React 18 patterns that aren't optimal for React 19.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Solution:&lt;/strong&gt; I learned to prefix queries with "in React 19" to get current best practices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge:&lt;/strong&gt; Complex multi-step API integrations required breaking questions into smaller parts.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Solution:&lt;/strong&gt; Instead of "How do I integrate Afriex?", I asked "How to fetch rates?" then "How to post customer data?" separately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Would I Use It Again?
&lt;/h3&gt;

&lt;p&gt;Absolutely. GitHub Copilot CLI has become muscle memory for me. The seamless integration with my terminal workflow means I never have to leave my coding flow to Google errors or read docs. It's like having a knowledgeable teammate who responds instantly—without the meeting overhead.&lt;/p&gt;

&lt;p&gt;For hackathons especially, where speed and correctness matter equally, Copilot CLI is a game-changer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Technical Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework:&lt;/strong&gt; Next.js 16 (App Router, Server Actions)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UI Library:&lt;/strong&gt; React 19 (with React Compiler)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling:&lt;/strong&gt; Tailwind CSS v4 (PostCSS plugin)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fonts:&lt;/strong&gt; Geist Sans + Geist Mono&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API:&lt;/strong&gt; Afriex (Rates + Customer endpoints)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript:&lt;/strong&gt; Strict mode enabled&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linting:&lt;/strong&gt; ESLint 9 (flat config)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Project Repository
&lt;/h2&gt;

&lt;p&gt;[GitHub Repository Link - &lt;a href="https://github.com/SheriffMudasir/Passport" rel="noopener noreferrer"&gt;https://github.com/SheriffMudasir/Passport&lt;/a&gt;]&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;If this project wins, I plan to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add multiplayer leaderboards&lt;/li&gt;
&lt;li&gt;Introduce more exotic currency pairs&lt;/li&gt;
&lt;li&gt;Build a "practice mode" with historical rate data&lt;/li&gt;
&lt;li&gt;Create a CLI version of the game (full circle with Copilot CLI!)&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Built with ❤️ using GitHub Copilot CLI&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Submission Date: February 15, 2026&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Co-authored-by: Copilot &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>cli</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>The Terminal Used to Scare Me. Then I Built This Cinematic PDF Audio Reader with Copilot CLI</title>
      <dc:creator>Sheriff Olalekan Mudasir</dc:creator>
      <pubDate>Fri, 13 Feb 2026 16:24:59 +0000</pubDate>
      <link>https://dev.to/sheriffmudasir/the-terminal-used-to-scare-me-then-i-built-this-cinematic-pdf-audio-reader-with-copilot-cli-4p81</link>
      <guid>https://dev.to/sheriffmudasir/the-terminal-used-to-scare-me-then-i-built-this-cinematic-pdf-audio-reader-with-copilot-cli-4p81</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%2Ffbmkioonaetokskk0d1h.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%2Ffbmkioonaetokskk0d1h.png" alt="A split-screen banner showing the PDF Audio Reader web interface on a laptop with a cinematic media player overlay on the left, and a dark terminal window on the right featuring the GitHub Copilot CLI being used to configure Vercel headers." width="800" height="313"&gt;&lt;/a&gt;&lt;br&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;I built PDF Audio Reader, a cinematic web application that transforms static, dense PDF documents into an interactive audio experience.&lt;/p&gt;

&lt;p&gt;As a final-year Architecture student, I spend my days (and nights) buried in deep research—from case studies to complex structural guides. I needed a way to "read" while moving between the studio and site visits. Existing solution are often behind paywalls and usually does bad job with the extraction. PDF Audio Reader doesn't just read text; it uses a "Media Player" philosophy, featuring word-level highlighting, time estimation, and a sleek HUD interface that makes academic reading feel like watching a movie.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://youtu.be/zIShnArZIhU" rel="noopener noreferrer"&gt;https://youtu.be/zIShnArZIhU&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  My Experience with GitHub Copilot CLI
&lt;/h2&gt;

&lt;p&gt;To be honest, the terminal used to be a scary place for me. While I’m comfortable with Python and Django, the command line always felt like a "look but don't touch" zone—one wrong string of characters and everything breaks. However, building this project with the GitHub Copilot CLI completely changed that narrative.&lt;/p&gt;
&lt;h2&gt;
  
  
  From "Black Box" to Fluent Conversation
&lt;/h2&gt;

&lt;p&gt;I used the CLI as my "Terminal Translator." Instead of Tab-hunting through documentation, I could simply ask for what I needed in plain English.&lt;/p&gt;

&lt;p&gt;The turning point was handling the Cross-Origin-Embedder-Policy (COEP). My app kept breaking on Vercel because of strict security headers blocking the PDF.js library. I turned to the terminal and asked:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Fix the Cross-Origin-Embedder-Policy (COEP) breaking the deployment on vercel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To my surprise, the CLI was incredibly intuitive and fluent. It didn’t fix  the bug; it explained why the headers were clashing. It felt less like I was typing into a void and more like I was collaborating with a senior dev who spoke "Human" as well as "Bash."&lt;/p&gt;

&lt;h2&gt;
  
  
  Impact on Development
&lt;/h2&gt;

&lt;p&gt;Confidence Boost: I stopped fear-clicking through my directories and started using the CLI to manage my entire Vercel deployment and Git workflow.&lt;/p&gt;

&lt;p&gt;Speed: I scaffolded the pdf-processor.js logic—specifically the sentence tokenization—by asking the CLI for the most efficient regex patterns to handle PDF artifacts.&lt;/p&gt;

&lt;p&gt;Learning on the Fly: It turned the terminal from a daunting utility into a learning tool.&lt;/p&gt;

&lt;p&gt;The CLI took the friction out of the "boring" parts of development (configuration and deployment), allowing me to focus on the "fun" parts—designing a cinematic experience for users.&lt;/p&gt;

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