<?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>Forem: Saicharan Lokineni</title>
    <description>The latest articles on Forem by Saicharan Lokineni (@saicharan_lokineni_531e89).</description>
    <link>https://forem.com/saicharan_lokineni_531e89</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%2F3648424%2F083fcb78-802b-49e4-8695-638cc4fcd0cd.png</url>
      <title>Forem: Saicharan Lokineni</title>
      <link>https://forem.com/saicharan_lokineni_531e89</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/saicharan_lokineni_531e89"/>
    <language>en</language>
    <item>
      <title>🧟 I Gamified my Task Manager into a Zombie Shooter to Save my RAM (Built with Kiro)</title>
      <dc:creator>Saicharan Lokineni</dc:creator>
      <pubDate>Fri, 05 Dec 2025 18:47:41 +0000</pubDate>
      <link>https://forem.com/saicharan_lokineni_531e89/i-gamified-my-task-manager-into-a-zombie-shooter-to-save-my-ram-built-with-kiro-4kjb</link>
      <guid>https://forem.com/saicharan_lokineni_531e89/i-gamified-my-task-manager-into-a-zombie-shooter-to-save-my-ram-built-with-kiro-4kjb</guid>
      <description>&lt;p&gt;It was a dark and stormy night... okay, actually, it was 2 AM, my laptop fan was screaming like a banshee, and my RAM usage was sitting at a terrifying 98%.&lt;/p&gt;

&lt;p&gt;We’ve all faced the true horror of software development: The &lt;strong&gt;Zombie Process&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You know the ones. That instance of Chrome that refused to close. The Node server you thought you killed three hours ago. They sit in the background, eating your CPU brains, haunting your activity monitor.&lt;/p&gt;

&lt;p&gt;Usually, dealing with them involves the boring ritual of opening the Task Manager or typing &lt;strong&gt;kill -9&lt;/strong&gt; into the terminal. But for the &lt;strong&gt;Kiroween Hackathon&lt;/strong&gt;, I decided to do something a little more... Frankenstein.&lt;/p&gt;

&lt;p&gt;Enter &lt;strong&gt;Zomb-Kill&lt;/strong&gt;: A Python dashboard that scans your system for idle processes and renders them as 8-bit zombies. To free up my RAM, I don't click "End Task." I click a shotgun. 💥&lt;/p&gt;

&lt;p&gt;Here is how I built this monstrosity in record time using &lt;strong&gt;Kiro&lt;/strong&gt; and its spooky-good AI features.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Frankenstein Category ⚡
&lt;/h2&gt;

&lt;p&gt;I entered this project into the &lt;strong&gt;Frankenstein&lt;/strong&gt; category—mashing up boring System Admin tools with Arcade Game logic.&lt;/p&gt;

&lt;p&gt;My goal? To make process management satisfyingly violent. But I only had a few hours. I didn't have time to write boilerplate. I needed magic. I needed Kiro.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔮 Vibe Coding: Summoning the Backend
&lt;/h2&gt;

&lt;p&gt;If you haven't used &lt;strong&gt;Kiro’s Vibe Coding&lt;/strong&gt; feature yet, it honestly feels a bit like witchcraft.&lt;/p&gt;

&lt;p&gt;Usually, writing a script to inspect system processes involves digging through the psutil documentation, figuring out permission errors, and formatting dictionary outputs. I didn't do any of that.&lt;/p&gt;

&lt;p&gt;I opened Kiro's chat and simply vibed with the AI. I typed:&lt;br&gt;
"I need a Python script that uses psutil to find all idle or sleeping processes. However, I want you to return them as a JSON object where memory usage translates to 'health points' and the process name is the 'monster_type'."&lt;/p&gt;

&lt;p&gt;I didn't touch the keyboard again for 30 seconds. Kiro didn't just give me a snippet; it understood the assignment. It generated a class structure that treated my operating system like a dungeon crawler.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import psutil

def scan_for_monsters():
    dungeon = []
    # Scan system for processes consuming resources
    for proc in psutil.process_iter(['pid', 'name', 'memory_info']):
        try:
            # Memory usage in MB becomes Health Points
            ram_usage = proc.info['memory_info'].rss / (1024 * 1024)

            monster = {
                "id": proc.info['pid'],
                "monster_type": proc.info['name'],
                "health_points": int(ram_usage),
                "status": "ZOMBIE" if proc.status() == psutil.STATUS_ZOMBIE else "ALIVE"
            }
            dungeon.append(monster)
        except (psutil.NoSuchProcess, psutil.AccessDenied):
            pass # Some ghosts cannot be seen

    return dungeon
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;[: The Python psutil script Kiro generated]&lt;/p&gt;

&lt;p&gt;It was terrifyingly accurate. It handled the exceptions for system processes (the ones you shouldn't kill unless you want a Blue Screen of Death) automatically. I wasn't coding; I was conducting a symphony of logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Giving the Monster a Brain (Steering Docs)
&lt;/h2&gt;

&lt;p&gt;Now came the hard part: The Graphics.&lt;/p&gt;

&lt;p&gt;I wanted to use &lt;strong&gt;PyGame&lt;/strong&gt; to render the 8-bit zombies. The problem with most AI coding assistants is that they hallucinate game logic. They invent methods that don't exist, leading to a graveyard of syntax errors.&lt;/p&gt;

&lt;p&gt;This is where Kiro’s &lt;strong&gt;Context/Steering Docs&lt;/strong&gt; feature saved my life.&lt;/p&gt;

&lt;p&gt;I didn't hope for the best. I grabbed the PyGame documentation and dropped it directly into Kiro’s context via the &lt;strong&gt;&lt;a class="mentioned-user" href="https://dev.to/docs"&gt;@docs&lt;/a&gt;&lt;/strong&gt; feature.&lt;/p&gt;

&lt;p&gt;I told Kiro:&lt;br&gt;
"Using the &lt;a class="mentioned-user" href="https://dev.to/pygame"&gt;@pygame&lt;/a&gt; docs, create a rendering loop that takes the JSON data from our backend and spawns a sprite for every process. If I click the sprite, trigger the kill command and play a shotgun sound effect."&lt;br&gt;
Because Kiro was "holding the manual" while it coded, the output was flawless. It correctly implemented the sprite groups, the event loop, and the collision detection on the first try.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Kiro generated this game loop using the PyGame docs context
running = True
while running:
    screen.fill((10, 10, 10)) # Dark mode background

    for event in pygame.event.get():
        if event.type == pygame.MOUSEBUTTONDOWN:
            # Check if we clicked (shot) a zombie
            mouse_pos = pygame.mouse.get_pos()
            for z_sprite in zombie_group:
                if z_sprite.rect.collidepoint(mouse_pos):
                    # KILL THE PROCESS
                    psutil.Process(z_sprite.pid).terminate()
                    play_shotgun_sound()
                    z_sprite.kill() # Remove from screen

    # Update and draw the undead horde
    zombie_group.update()
    zombie_group.draw(screen)
    pygame.display.flip()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;[: The PyGame rendering loop Kiro generated]&lt;/p&gt;

&lt;p&gt;It was like stitching a new limb onto the project, and seeing it twitch to life immediately. "It's Alive!" I may have actually shouted this at my monitor.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Result: A Ghoulish Delight
&lt;/h2&gt;

&lt;p&gt;Now, when my computer slows down, I launch Zomb-Kill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chrome Helper?&lt;/strong&gt; It's a slow-moving Ghoul. BLAM.&lt;br&gt;
&lt;strong&gt;Frozen Python Script?&lt;/strong&gt; It's a fast-moving Skeleton. BLAM.&lt;/p&gt;

&lt;p&gt;My RAM clears up, and I get a dopamine hit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion: Coding Doesn't Have to be Scary 🧛
&lt;/h2&gt;

&lt;p&gt;Building &lt;strong&gt;Zomb-Kill&lt;/strong&gt; proved two things:&lt;/p&gt;

&lt;p&gt;Killing processes is better with sound effects.&lt;br&gt;
&lt;strong&gt;Kiro&lt;/strong&gt; changes the developer experience from "typing syntax" to "directing magic."&lt;/p&gt;

&lt;p&gt;The ability to use &lt;strong&gt;Vibe Coding&lt;/strong&gt; to skip the boring boilerplate, and &lt;strong&gt;Steering Docs&lt;/strong&gt; to ensure complex libraries are implemented correctly, made this the most fun hackathon entry I've ever built.&lt;/p&gt;

&lt;p&gt;If you haven't tried Kiro yet, go grab it. It might just save your soul (or at least your memory leak).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy Kiroween! 🎃👻&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%2Fkmt9plzgioinek26pp9y.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%2Fkmt9plzgioinek26pp9y.png" alt=" " width="667" height="632"&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%2Fyyhwsac27tpbddd8xxjy.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%2Fyyhwsac27tpbddd8xxjy.png" alt=" " width="661" height="677"&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%2F1r8ojmgqww6ltdjtezmq.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%2F1r8ojmgqww6ltdjtezmq.png" alt=" " width="677" height="671"&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%2Fgzfbo7qvujvxu8znu0cu.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%2Fgzfbo7qvujvxu8znu0cu.png" alt=" " width="675" height="642"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>python</category>
      <category>hackathon</category>
      <category>halloween</category>
    </item>
  </channel>
</rss>
