<?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: Jitesh Kumar Sahoo</title>
    <description>The latest articles on DEV Community by Jitesh Kumar Sahoo (@jitesh117).</description>
    <link>https://dev.to/jitesh117</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%2F723254%2F09e26e78-39df-4623-90b6-4c8d530166a3.png</url>
      <title>DEV Community: Jitesh Kumar Sahoo</title>
      <link>https://dev.to/jitesh117</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jitesh117"/>
    <language>en</language>
    <item>
      <title>Check this out!</title>
      <dc:creator>Jitesh Kumar Sahoo</dc:creator>
      <pubDate>Fri, 29 May 2026 06:00:52 +0000</pubDate>
      <link>https://dev.to/jitesh117/-f9h</link>
      <guid>https://dev.to/jitesh117/-f9h</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5" class="crayons-story__hidden-navigation-link"&gt;how I revived and scaled Vim Royale, a pvp vim based multiplayer game to 200+ users&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
      &lt;a href="https://dev.to/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5" 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="/jitesh117" 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%2F723254%2F09e26e78-39df-4623-90b6-4c8d530166a3.png" alt="jitesh117 profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/jitesh117" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Jitesh Kumar Sahoo
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Jitesh Kumar Sahoo
                
              
              &lt;div id="story-author-preview-content-3775485" 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="/jitesh117" 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%2F723254%2F09e26e78-39df-4623-90b6-4c8d530166a3.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Jitesh Kumar Sahoo&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/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;May 29&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/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5" id="article-link-3775485"&gt;
          how I revived and scaled Vim Royale, a pvp vim based multiplayer game to 200+ users
        &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/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5" 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/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.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;7&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/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&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"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&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>how I revived and scaled Vim Royale, a pvp vim based multiplayer game to 200+ users</title>
      <dc:creator>Jitesh Kumar Sahoo</dc:creator>
      <pubDate>Fri, 29 May 2026 05:59:52 +0000</pubDate>
      <link>https://dev.to/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5</link>
      <guid>https://dev.to/jitesh117/how-i-revived-and-scaled-vim-royale-a-pvp-vim-based-multiplayer-game-to-200-users-1eh5</guid>
      <description>&lt;h2&gt;
  
  
  Vim Royale: The Project I Kept Postponing Until I Finally Shipped It
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a submission for the GitHub Finish-Up-A-Thon Challenge&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;&lt;a href="https://vimroyale.com" rel="noopener noreferrer"&gt;Vim Royale&lt;/a&gt; is a competitive PvP Vim editor game where players race to fix the same broken code snippet using real Vim motions in a real editor. First one to finish wins.&lt;/p&gt;

&lt;p&gt;At a glance, it sounds like a simple idea: take the speed, precision, and muscle memory of Vim, then turn it into a head-to-head game.&lt;/p&gt;

&lt;p&gt;In practice, it became a much bigger and more interesting project than I expected.&lt;/p&gt;

&lt;p&gt;What started as “just a Vim game” grew into a full competitive platform with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Realtime 1v1 gameplay&lt;/li&gt;
&lt;li&gt;Match replays&lt;/li&gt;
&lt;li&gt;Tournament creation and invites&lt;/li&gt;
&lt;li&gt;Live spectator mode&lt;/li&gt;
&lt;li&gt;Vim keybinding import, including &lt;code&gt;.vimrc&lt;/code&gt;-style mappings&lt;/li&gt;
&lt;li&gt;Leaderboards and persistent player progress&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The stack behind it:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Tech&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React + TypeScript (Vite) + CodeMirror + Vim mode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Go + Gin + WebSockets/SSE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;PostgreSQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Infra&lt;/td&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Live app:&lt;/strong&gt; &lt;a href="https://vimroyale.com" rel="noopener noreferrer"&gt;vimroyale.com&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Demo:&lt;/strong&gt; &lt;a href="https://youtu.be/k6E6qg7PgxA" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;GitHub Repo:&lt;/strong&gt; &lt;a href="https://github.com/Jitesh117/vim_royale" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Wanted to Build This
&lt;/h2&gt;

&lt;p&gt;I’ve been using Vim for the last 4 years, and at some point I realized something: practicing Vim is usually a solo activity.&lt;/p&gt;

&lt;p&gt;You read tutorials, repeat motions, maybe go through &lt;code&gt;vimtutor&lt;/code&gt;, and slowly improve over time. That works, but it doesn’t capture the part that makes games fun: pressure, feedback, rivalry, and replayability.&lt;/p&gt;

&lt;p&gt;I wanted to build something that made Vim practice feel competitive.&lt;/p&gt;

&lt;p&gt;Not “gamified” in the shallow sense, but actually game-like. Two players. Same challenge. Same starting point. Pure execution. You either move faster, think cleaner, and make fewer mistakes, or you lose.&lt;/p&gt;

&lt;p&gt;That idea stayed in my head for a long time.&lt;/p&gt;

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

&lt;p&gt;This project had been sitting with me since last year.&lt;/p&gt;

&lt;p&gt;My first serious attempt was in Elixir/Phoenix. I got much farther than most abandoned side projects ever do, and for a while I thought that version would be the one I shipped.&lt;/p&gt;

&lt;p&gt;But I kept running into friction, especially around frontend/editor-heavy work. Integrating npm-based editor tooling into that setup was possible, but it constantly felt heavier than it should have. I was writing too many JS hooks and too much glue code just to get basic editor behavior and UI pieces working the way I wanted.&lt;/p&gt;

&lt;p&gt;That kind of friction is dangerous for side projects.&lt;/p&gt;

&lt;p&gt;Not because it makes the work impossible, but because it slowly drains momentum. You stop building the product and start wrestling the stack. Then you postpone decisions. Then you pause for a few days. Then suddenly weeks are gone.&lt;/p&gt;

&lt;p&gt;A few weeks ago, I finally made the decision I should have made much earlier:&lt;/p&gt;

&lt;p&gt;Stop overthinking and switch to the stack that would let me finish.&lt;/p&gt;

&lt;p&gt;So I rebuilt it using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React&lt;/strong&gt; for frontend flexibility and access to the npm ecosystem&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Go + Gin&lt;/strong&gt; for a simple, predictable backend&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PostgreSQL&lt;/strong&gt; for durable match, tournament, and user data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker&lt;/strong&gt; to keep local setup straightforward&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That switch changed everything.&lt;/p&gt;

&lt;p&gt;The moment I moved to a setup that matched the problem better, progress sped up. CodeMirror became a huge unlock. React made the editor and UI integration much smoother. Go gave me a backend that was easy to reason about for realtime systems.&lt;/p&gt;

&lt;p&gt;Instead of fighting the framework, I could focus on the actual game.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Went Into Building It
&lt;/h2&gt;

&lt;p&gt;Once the foundation felt right, the scope expanded naturally.&lt;/p&gt;

&lt;p&gt;I didn’t just want a proof of concept where two people could type in a shared room. I wanted it to feel like a real competitive product. That meant building around the core match loop, not just the loop itself.&lt;/p&gt;

&lt;p&gt;Some of the biggest pieces were:&lt;/p&gt;

&lt;h3&gt;
  
  
  Realtime Match Flow
&lt;/h3&gt;

&lt;p&gt;This is the heart of the project.&lt;/p&gt;

&lt;p&gt;Two players enter a match, receive the same broken snippet, and edit in real time with Vim controls. The game has to stay responsive, synchronized, and fair. That meant handling live editor updates, match state transitions, win conditions, and reconnect edge cases cleanly.&lt;/p&gt;

&lt;p&gt;Realtime features are always more work than they sound. Even when the idea is simple, the system around it usually isn’t.&lt;/p&gt;

&lt;h3&gt;
  
  
  Match Replays
&lt;/h3&gt;

&lt;p&gt;Replays were one of the features I was most excited about because they make improvement visible.&lt;/p&gt;

&lt;p&gt;It’s one thing to know you lost. It’s another to actually watch how the other player solved the problem faster, where you hesitated, and which motions cost you time.&lt;/p&gt;

&lt;p&gt;That required storing enough gameplay data to reconstruct the session meaningfully, not just saving the final result.&lt;/p&gt;

&lt;h3&gt;
  
  
  Spectator Mode
&lt;/h3&gt;

&lt;p&gt;Competitive games are more fun when other people can watch.&lt;/p&gt;

&lt;p&gt;Live spectating adds a lot of energy to matches, especially when you imagine friends joining a room, watching a tournament round, or seeing someone pull off a clean solution under pressure.&lt;/p&gt;

&lt;p&gt;It also changed how I thought about the app. Once you support spectators, you’re no longer building just a tool for players. You’re building an experience around the match.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tournaments
&lt;/h3&gt;

&lt;p&gt;Tournaments made the whole project feel more complete.&lt;/p&gt;

&lt;p&gt;A one-off duel is fun, but tournament structure creates stakes. Brackets, invites, lobby flow, event updates, and progression all make the game feel more like something people can organize around rather than just try once.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vim Keybinding Import
&lt;/h3&gt;

&lt;p&gt;This was one of the most niche features, which is exactly why I wanted it.&lt;/p&gt;

&lt;p&gt;People who use Vim seriously often have custom mappings that shape how they play. Supporting &lt;code&gt;.vimrc&lt;/code&gt;-style keybinding import made the experience feel more personal and more authentic. It also made the game feel less like “Vim-inspired controls” and more like actual Vim muscle memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hardest Part
&lt;/h2&gt;

&lt;p&gt;The hardest part wasn’t writing a single specific feature.&lt;/p&gt;

&lt;p&gt;It was building something that felt true to both sides of the idea:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It needed to feel like a game&lt;/li&gt;
&lt;li&gt;It also needed to feel like Vim&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If it leaned too far toward “game,” the editor experience would feel fake.&lt;/p&gt;

&lt;p&gt;If it leaned too far toward “editor simulator,” the product would feel dry and intimidating.&lt;/p&gt;

&lt;p&gt;The balance was important. The UI had to stay approachable. The gameplay had to stay fast. The editing had to feel legitimate enough that actual Vim users would enjoy it.&lt;/p&gt;

&lt;p&gt;That tension shaped a lot of product decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Working with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;Copilot helped most in the places where momentum usually dies: repetitive scaffolding, context switching, and debugging weird issues.&lt;/p&gt;

&lt;p&gt;A few areas where it genuinely helped:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day-to-day autocomplete&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
It sped up implementation across React components and Go handlers, especially when I was wiring similar state, props, API types, and response shapes repeatedly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generating boilerplate&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Scaffolding component structure, helper functions, and repetitive glue code got faster. That matters more than it sounds. A lot of side projects stall not because the hard parts are impossible, but because the boring parts pile up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Single-player mode starter code&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Instead of starting from a blank file every time, I often had something usable to react to and adapt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learning React while building&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This was my first serious React project. Copilot helped me understand patterns faster and debug issues without constantly dropping out of flow to read docs from scratch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The &lt;code&gt;useEffect&lt;/code&gt; double-fire mystery&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This was a real time sink. &lt;code&gt;useEffect&lt;/code&gt; was running twice in development but not in production, which made it feel like a ghost bug. Copilot pointed me toward React Strict Mode behavior, and that saved me from chasing the wrong explanation for hours.&lt;/p&gt;

&lt;p&gt;Copilot did not build the project for me.&lt;/p&gt;

&lt;p&gt;But it absolutely helped me keep moving, and for a project like this, momentum was everything.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Finishing Taught Me
&lt;/h2&gt;

&lt;p&gt;The biggest lesson from Vim Royale was simple:&lt;/p&gt;

&lt;p&gt;The best stack is usually the one that reduces friction enough for you to keep going.&lt;/p&gt;

&lt;p&gt;I spent too long treating stack choice like a theoretical optimization problem. In reality, the most important thing was whether the tools matched the shape of the project and kept me in motion.&lt;/p&gt;

&lt;p&gt;Once I accepted that, things clicked.&lt;/p&gt;

&lt;p&gt;The second lesson was that unfinished ideas don’t become real through better planning. They become real through reducing resistance and shipping smaller pieces until the project has a heartbeat.&lt;/p&gt;

&lt;p&gt;For a long time, Vim Royale was just a concept I liked talking about.&lt;/p&gt;

&lt;p&gt;Now it’s live. People can play it. They can invite friends, spectate matches, replay sessions, and compete.&lt;/p&gt;

&lt;p&gt;That difference means a lot to me.&lt;/p&gt;

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

&lt;p&gt;There’s still a lot I want to explore.&lt;/p&gt;

&lt;p&gt;Some ideas I’m excited about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More game modes&lt;/li&gt;
&lt;li&gt;Better progression and ranking systems&lt;/li&gt;
&lt;li&gt;More replay and analysis tooling&lt;/li&gt;
&lt;li&gt;More snippet variety and challenge design&lt;/li&gt;
&lt;li&gt;Stronger onboarding for players who are curious about Vim but not advanced yet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The nice thing is that now those ideas have a real home. They’re not floating around as “maybe someday” concepts anymore.&lt;/p&gt;

&lt;h2&gt;
  
  
  Closing Thoughts
&lt;/h2&gt;

&lt;p&gt;Vim Royale means a lot to me because it combines something I genuinely enjoy using with something I genuinely enjoy building.&lt;/p&gt;

&lt;p&gt;It took longer than I wanted. I changed stacks. I lost momentum. I restarted. But I finished it, and that matters more than the version history of how I got there.&lt;/p&gt;

&lt;p&gt;If you enjoy Vim, competition, or weird coding games on the internet, give it a try:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vimroyale.com" rel="noopener noreferrer"&gt;vimroyale.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you check it out, I’d love to hear what you think I should build next.&lt;/p&gt;

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