PawBot - An AI Desktop Puppy That Eats Your Files ๐พ
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)
Comments
No comments yet. Start the discussion.