About this project
pixelpets is an Electron desktop companion for Windows 10/11, with a macOS 12+ beta port (code-complete and ad-hoc signed, but per the README not yet run on real Apple hardware). Linux is explicitly unsupported: the overlay and global input hooks are Windows/macOS only. You can install a prebuilt Windows installer or run from source with git, Node 20 or newer, and `npm install` / `npm start`; a browser demo runs the same renderer with nothing to install. Builds are unsigned, so Windows SmartScreen and macOS Gatekeeper will warn on first launch, and the install registers itself to start at login (`npm run autostart:off` disables that).
What it does
The pet lives in a transparent, click-through overlay above every other window; only the pet itself is clickable. It reacts to petting, dragging, typing, scrolling and cursor play, with responses gated by an internal mood model that runs from calm up to zoomies. Dragging stretches it and the release point becomes its new home on the bottom line. Right-clicking cycles coats; tapping produces happy eyes, hearts and a chirp; resting the cursor on its head or body gives distinct petting reactions. Typing anywhere triggers front-paw kneading (fast typing overheats it), and scrolling makes it swipe at a leaf or climb a yarn rope on the coats that ship paint art. A tray icon offers settings, break start, coat picking, play area, sound/hunt/mood toggles and quit.
Visuals and audio
The app ships 14 cat coats plus a Black Lab, all recolored at draw time from a single role-coded sprite. Animations, limbs included, are composed into that same sprite, so every coat and both species get every pose in their own colors without extra image files. Coats can be designed, imported and exported by users. There are no audio files at all: the meow, bark, purr, pant and an improvising lo-fi music loop are synthesized live with Web Audio.
Productivity features
Beyond the pet behaviours, it delivers break and Pomodoro timers, repeating reminders, a pinned note, IMAP unread-mail alerts and calendar nudges. Focus Guard reads a "busy" state from a live calendar event, Quiet Hours or Work mode, parks the pet and holds messages instead of interrupting a screen share; held messages are summarized in one line once you are free. Settings persist to `settings.json` in the per-user app-data folder, and installs predating the project rename are migrated. Timers and reminders run only while the app is running and use the local clock.
AI agent integration
pixelpets can react to the work status of a coding agent: it ponders with a paw to its chin while the agent thinks, taps along with a spinner while it works, flinches on errors, and hops and meows when the agent finishes. Any tool can signal it by running `agent-hook.js` with a state such as thinking, editing, error, done or idle, which writes a small status file the pet watches. Ready-made configs ship for Claude Code, Codex CLI, Cursor, Antigravity and Kiro, and the helper is hook-safe: it drains stdin and replies `{"continue": true}` so it does not block or alter the agent.
Privacy
Because it reacts to typing and scrolling, the app listens to global input events. The README states that input is used only to trigger animations in the moment, on your machine: keystrokes are never logged, stored or transmitted. There is no telemetry and no auto-update, and no network connections at all unless you configure the optional mail or calendar alerts, which talk only to the servers you specify from isolated worker processes. IMAP app passwords are stored encrypted at rest using Electron `safeStorage` rather than in `settings.json`.
Development and documentation
Docs cover features, custom coats, architecture, a development guide, a frame pack for hand-painting and importing poses, agent hooks, and a small iPad terminal tool. `npm test` runs the suite without Electron or a GPU, `npm run lint` matches what CI runs alongside a boot check, `npm run poses:cat` generates contact sheets of every activity across every coat for visual QA, and `npm run demo:all` regenerates the README media. Because the overlay is GPU-composited, ordinary screenshots cannot capture it, so visual review relies on those contact sheets.
The project is MIT licensed; art, code and sound are described as original, and it cites two open-source desktop pets as inspiration while stating that no third-party assets, sprites, audio or branding are used. Contributions are welcomed, with a contributing guide, a private security-reporting policy, discussions for custom coats and desk setups, and a beta checklist aimed at Mac owners as the most useful current contribution.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.