PawBot – 파일을 먹는 AI 데스크톱 강아지 🐾

작성자

카테고리:

← 피드로
DEV Community · Varshith V Hegde · 2026-08-15 개발(SW)
Cover image for PawBot - An AI Desktop Puppy That Eats Your Files 🐾

Varshith V Hegde

DEV Weekend Challenge: Dog Days Edition Submission 🐕

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.

PawBot idle sprite
PawBot eating
PawBot barking

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

Enter fullscreen mode Exit fullscreen mode

Or load the Chrome extension: clone the repo → ./scripts/sync-extension.sh → Load unpacked → select the extension/ folder.

Code

GitHub logo 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.

PawBot pixel puppy

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

Enter fullscreen mode Exit fullscreen mode

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!)

Walk animation frame
Run animation frame
Sleep animation frame
Happy mood

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

원문에서 계속 ↗