FocusPet
A virtual pet that thrives when you focus — and talks to you. Tamagotchi meets productivity, now with on-device AI.
Pixel-art cat that evolves through 6 stages: Egg → Baby → Child → Teen → Adult → Master
Automatic focus detection — stays on same tab 5+ min = XP gained
Distraction tracking — rapid tab switches (<30s) make your pet sad
Built-in pomodoro timer (25 min default) with +50 XP per completed session
Floating overlay mascot on any page — draggable, with idle/happy/sad animations
AI Mode: your pet sends contextual messages based on your progress and mood
On-device sentiment analysis via LiteRT.js (752KB model) — zero data leaves your browser
8 message categories: focus milestones, streaks, evolution, encouragement, and more
Speech bubble overlay — your pet talks to you with animated speech bubbles
Health, streak, and daily focus stats tracked in the popup
Game Boy-style 4-color pixel art, synthesized in real-time on canvas
100% free, no premium tiers, no tracking, no analytics, zero data sent
FocusPet turns focus into a game. A pixel-art cat lives on your screen, gains XP when you stay focused, and gets sad when you get distracted. With AI Mode (v0.2.0), your pet now talks to you — sending contextual messages based on your progress and the sentiment of what you write. All analysis runs on-device. Zero data sent.
How it works
FocusPet runs quietly in the background, tracking your tab activity:
- Stay on a tab 5+ minutes → your pet gains 2 XP per minute focused. Health regenerates.
- Switch tabs in under 30 seconds → that’s a distraction. Your pet loses 5 XP, its mood drops to sad, and its streak resets to zero.
- Complete a pomodoro session → +50 XP, health +10, and your pet celebrates.
- Go idle or lock your screen → your pet falls asleep (purple, closed eyes).
- New day → daily counters reset (focus minutes, distraction count), but total XP and stage are permanent.
AI Mode (v0.2.0)
AI Mode makes your pet come alive with contextual messages. It’s opt-in — off by default. Toggle it from the popup.
How it works
-
Sentiment analysis: While you’re in a focus session, FocusPet analyzes the tone of text you write in any textarea. A 752KB on-device ML model (AverageWordVec via LiteRT.js) runs in your browser with WebGPU acceleration. Text is analyzed every 2 seconds (debounced) and never stored or transmitted — only a sentiment score (-1 to +1).
-
Message engine: Based on your pet’s stage, mood, progress milestones, and detected sentiment, a rule-based system selects the right message from 8 categories with 6+ variants each:
| Category | Trigger | Example |
|---|---|---|
| Focus milestone | 1h / 2h / 4h focus today | ”One hour of focus! You’re on a roll. 🎯“ |
| Streak milestone | 3 / 5 / 10 consecutive sessions | ”Five sessions in a row! Unstoppable. 🔥🔥“ |
| Stage evolution | Pet evolved to new stage | ”MASTER! I’m at my most powerful form. 👑🐱“ |
| Distraction recovery | Returned to focus after distraction | ”So glad to have you back! 🐱💛“ |
| Encouragement | Negative sentiment detected | ”Don’t give up! I believe in you, no matter what. 💪🐱“ |
| Shared joy | Positive sentiment detected | ”I can feel your joy in every word! It’s contagious. ✨“ |
| Idle nudge | User idle for a while | ”Still there? I’ll be here when you’re ready. 🐱“ |
| Pomodoro complete | Session finished | ”Session complete! +50 XP. I’m jumping for joy! 🎉🐱” |
-
Speech bubble: Messages appear as speech bubbles above your pet with a smooth animation, auto-dismissing after 5 seconds. Click the pet to dismiss manually.
-
Notifications: Optional native Chrome notifications for pet messages. Toggle from the popup.
Rate limiting
- During focus: max 1 message per 15 minutes
- During idle: max 1 message per 30 minutes
- Never interrupts a pomodoro session
Privacy
🔒 Zero data sent. The sentiment analysis runs 100% on-device. The text you write is analyzed in your browser and immediately discarded — only a sentiment score (-1 to +1) is stored in your pet’s state. No text is ever stored, transmitted, or logged.
Evolution stages
| Stage | XP Required | Visual |
|---|---|---|
| Egg | 0 | Basic cat body |
| Baby | 50 | Basic cat body |
| Child | 200 | + Red hat |
| Teen | 500 | + Red hat |
| Adult | 1000 | + Red hat + Purple cape |
| Master | 2500 | + Red hat + Purple cape + Golden crown |
Once your pet reaches Master, it’s maxed out — but you can keep grinding XP to flex your total.
The pomodoro timer
The popup includes a 25-minute pomodoro timer. Hit Start Focus and a countdown begins. If you complete the full 25 minutes: +50 XP, health boost, streak increment, and a notification. If you interrupt it (or go idle): -10 XP, streak resets, and your pet gets sad.
The floating mascot
A 64×64 pixel-art cat renders as a fixed overlay on every page you visit — bottom-right by default. It’s:
- Draggable — click and hold to move it anywhere on the page
- Animated — breathing idle, tail wag, bounce on click
- Mood-reactive — gold body when happy, blue when sad, purple when sleeping
- Stage-aware — shows hat, cape, and crown as your pet evolves
- Talks — speech bubbles appear above the pet with AI Mode messages
- Dismissible — it’s a canvas element, non-intrusive at 85% opacity
Privacy
FocusPet doesn’t collect any data. No analytics, no tracking, no telemetry.
Your pet’s state lives in chrome.storage.local — it never leaves your browser.
AI Mode sentiment analysis runs entirely on-device — text is analyzed and discarded,
only a sentiment score is kept. The only permissions are storage, tabs, idle, and
notifications.
Free forever
FocusPet is 100% free. All 6 evolution stages, AI Mode, the pomodoro timer, and the floating mascot are available to everyone. There are no premium tiers, no locked features, no usage limits. If you enjoy it, you can buy me a coffee — but there’s zero pressure.
How would you rate FocusPet?
Click a star to vote — no account needed.
Frequently asked questions
Is FocusPet really free?
Yes, 100% free. All 6 evolution stages, the pomodoro timer, AI Mode, and the floating mascot are available to everyone. No premium tiers, no locked features, no usage limits. If you enjoy it, you can buy me a coffee — but there's zero pressure.
Does FocusPet collect any data?
No. FocusPet doesn't collect any data. No analytics, no tracking, no telemetry. Your pet's state (XP, stage, health, stats) is stored locally in your browser via chrome.storage.local. AI Mode sentiment analysis runs entirely on-device — the text you write is analyzed in your browser and never stored or transmitted. Only a sentiment score (-1 to +1) is kept. Nothing leaves your device.
What is AI Mode?
AI Mode (new in v0.2.0) makes your pet talk to you with contextual messages. It analyzes the sentiment of text you write during focus sessions using a 752KB on-device ML model (LiteRT.js). Based on your progress, mood, and detected sentiment, your pet sends encouraging messages, celebrates milestones, or nudges you when idle. It's opt-in — off by default. Toggle it from the popup.
How does the sentiment analysis work?
FocusPet uses a TinyML sentiment classifier (AverageWordVec, 752KB) that runs in your browser via LiteRT.js with WebGPU acceleration. It analyzes the last ~500 characters of text you type in textareas every 2 seconds (debounced). The text itself is never stored — only a sentiment score from -1 (negative) to +1 (positive) is kept in your pet's state. When negative sentiment is detected, your pet encourages you. When positive, it celebrates with you.
How does FocusPet detect focus vs distraction?
FocusPet tracks tab activity in the background. When you stay on the same tab for 5 minutes or more, your pet gains XP (2 XP per minute focused). When you switch tabs in under 30 seconds, it counts as a distraction — your pet loses 5 XP and its streak resets. You can also use the built-in pomodoro timer for a guaranteed +50 XP per completed 25-minute session.
What are the evolution stages?
Your pet evolves through 6 stages based on total XP: Egg (0 XP), Baby (50 XP), Child (200 XP), Teen (500 XP), Adult (1000 XP), and Master (2500 XP). Each stage adds visual accessories — a hat at Child, a cape at Adult, and a golden crown at Master. AI Mode also changes the pet's personality in its messages as it evolves.
What kind of messages does the pet send?
8 categories: focus milestones (1h/2h/4h of focus), streak milestones (3/5/10 consecutive sessions), stage evolution celebrations, distraction recovery, sentiment-based encouragement when you're writing something difficult, shared joy when you're positive, gentle idle nudges, and pomodoro completion celebrations. Each category has 6+ message variants for variety.
Does FocusPet work offline?
Yes. FocusPet works completely offline. The pixel-art sprite is drawn in real-time on an HTML canvas — no images, no external assets. AI Mode uses a bundled 752KB ML model with WebGPU/WASM runtime — no network calls needed. The only permissions are storage, tabs, idle, and notifications.