This is a submission for Weekend Challenge: Dog Days Edition
What I Built
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:
- ๐ Roams your screen like a classic desktop pet
- ๐ Chases your cursor when you get close
- ๐ Eats anything you drop โ PDFs, code files, emoji, pasted text
- ๐ฌ Barks back with short, mood-aware responses via Google Gemini
- ๐ด Falls asleep if you ignore it too long (with Zzz particles!)
- โค๏ธ Reacts to pets โ click to pet, double-click to wave
Feed it a .pdf and it might say "Mmm, crunchy homework!" Ignore it for 40 seconds and it curls up with sad puppy eyes.
Demo
Full walkthrough on YouTube:
Quick try locally:
git clone https://github.com/Varshithvhegde/pawbot.git
cd pawbot/web
python3 -m http.server 8080
# โ http://localhost:8080
Or load the Chrome extension: clone the repo โ ./scripts/sync-extension.sh โ Load unpacked โ select the extension/ folder.
Code
Varshithvhegde
/
pawbot
AI desktop puppy Chrome extension โ pixel pet that eats your files and barks with Google Gemini
PawBot ๐พ
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.
Demo
๐ฌ Watch on YouTube ยท ๐ DEV submission ยท ๐ GitHub
Features
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
How I Built It
Architecture
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 loader (33 AI-generated pixel frames)
โ
โโโ Bark engine โ Google Gemini API
mood + hunger + last meal โ short bark text
Technical decisions
| 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 |
Sprite animations (all 33 frames used!)
| 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 |
Controls
| 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.
Prize Categories
โ Best Use of Google AI
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.
What's next
- ๐ ElevenLabs bark sounds
- ๐ฉ Multiple dog breeds
- ๐ฆ Firefox extension
Thanks for reading! If PawBot made you smile, leave a ๐พ in the comments.
Built for International Dog Day ๐ ยท DEV Weekend Challenge: Dog Days Edition







Top comments (0)