cd /news/generative-ai/pawbot-an-ai-desktop-puppy-that-eats… Β· home β€Ί topics β€Ί generative-ai β€Ί article
[ARTICLE Β· art-97841] src=dev.to β†— pub= topic=generative-ai verified=true sentiment=↑ positive

PawBot - An AI Desktop Puppy That Eats Your Files 🐾

Developer Varshithvhegde built PawBot, a Chrome extension and browser demo featuring a pixel-art golden retriever puppy powered by Google Gemini 2.0 Flash Lite. The desktop pet roams the screen, chases and eats dropped files or emoji, and generates mood-aware barks based on user interactions. Built with vanilla JavaScript and Canvas, it uses a Shadow DOM overlay and esbuild bundling to work as a Chrome content script.

read4 min views1 publishedAug 15, 2026

This is a submission for Weekend Challenge: Dog Days Edition

Remember Neko the cat and those Tamagotchi desktop pets from the 90s? I rebuilt that magic for 2026 β€” except your pet is a golden retriever puppy powered by an LLM.

PawBot is a Chrome extension + browser demo where a cute pixel puppy:

Feed it a .pdf

and it might say "Mmm, crunchy homework!" Ignore it for 40 seconds and it curls up with sad puppy eyes.

Full walkthrough on YouTube:

Quick try locally:

git clone https://github.com/Varshithvhegde/pawbot.git
cd pawbot/web
python3 -m http.server 8080

Or load the Chrome extension: clone the repo β†’ ./scripts/sync-extension.sh

β†’ Load unpacked β†’ select the extension/

folder.

An AI desktop puppy that lives in your browser. A Tamagotchi/Neko-style pixel pet that roams your screen, chases your cursor, eats files & emoji you drop, and barks mood-aware responses powered by Google Gemini.

Built for the DEV Weekend Challenge: Dog Days Edition.

🎬 Watch on YouTube Β· πŸ“ ** DEV submission** Β· πŸ”—

Feature Description
πŸ• Pixel puppy
Full sprite animations β€” idle, walk, run, eat, sleep, bark, wave
πŸ– Feed anything
Drop files, emoji, or paste text β€” pup chases food then eats it
πŸƒ Chase mechanics
Food falls from above β†’ pup runs to it β†’ 4-frame eat animation
πŸ’¬ AI barks
Google Gemini generates short mood-based responses
😴 Sleep mode
Ignore pup 40s β†’ falls asleep with Zzz particles
❀️ Pet & wave
Click to pet, double-click to wave paw
⌨️ Hotkeys
F throw treat Β· B bark Β· Esc

Repo: github.com/Varshithvhegde/pawbot

Browser tab
    β”‚
    β”œβ”€β”€ Content script (bundled IIFE via esbuild)
    β”‚       └── Shadow DOM canvas overlay (immune to page CSS)
    β”‚
    β”œβ”€β”€ Pet engine (Canvas 2D state machine)
    β”‚       idle β†’ walk β†’ run β†’ eat β†’ sleep β†’ bark β†’ wave
    β”‚
    β”œβ”€β”€ Sprite  (33 AI-generated pixel frames)
    β”‚
    └── Bark engine β†’ Google Gemini API
            mood + hunger + last meal β†’ short bark text
Decision Why
Vanilla JS + Canvas
Zero build step for the web demo; screen-recording friendly
Shadow DOM overlay
Page CSS can't hide the pup (learned this the hard way on AI Studio)
esbuild bundle
Chrome content scripts can't use ES import β€” single bundled file fixes it
AI sprite sheet
Generated pixel art, auto-sliced with a Python script into 33 transparent PNGs
Chase-then-eat flow
Food drops β†’ pup runs β†’ 4-frame eat animation β†’ crumb particles
Fallback barks
Works offline without an API key; Gemini enhances when configured
State Sprites
Idle 4-frame breathing loop
Walk / Run Directional left & right sprites
Eat 4-frame chew cycle + flying food emoji
Sleep Curled up + floating Zzz particles
Mood Happy, sad, curious, excited overlays
Bark Shows while AI speech bubble is active
Wave Paw idle + 3-frame wave on pet/double-click
Action How
Feed Drag & drop file or emoji
Feed Paste text/emoji
Pet Click the puppy
Wave Double-click
Throw treat Press F
Bark Press B

Live hunger & happiness HUD in the bottom-left corner.

PawBot uses Google Gemini 2.0 Flash Lite β€” not as a chatbot, but as a personality engine for a desktop pet.

Every bark sends real context to Gemini:

Event Context sent to Gemini Example bark
Fed a .py file
"Just ate: main.py (file)" , mood: happy
"Python for breakfast? Bold choice."
Ignored 40s+ mood: lonely, ignoredMs: 45000 "...hello? I saved you a spot."
Poked happiness: 85, mood: excited "Hehe! Belly rubs detected!"
Hungry hunger: 82/100 "Is that food? IS THAT FOOD?"

Free API key from Google AI Studio β†’ paste in extension popup. Falls back to canned barks if no key is set.

Thanks for reading! If PawBot made you smile, leave a 🐾 in the comments.

Built for International Dog Day πŸ• Β· DEV Weekend Challenge: Dog Days Edition

── more in #generative-ai 4 stories Β· sorted by recency
── more on @varshithvhegde 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/pawbot-an-ai-desktop…] indexed:0 read:4min 2026-08-15 Β· β€”