An AI pet that lives on your desktop.
You open the app. A small cat appears on your desktop. It walks around, sits down, yawns.
Every few minutes, a speech bubble pops up — sometimes random ("~♪"), sometimes surprisingly relevant ("you've been coding since 9am... take a break?"). You can pet it, talk to it, or just let it be.
A little friend that lives in the corner of your screen.
Long hours feel shorter when you're not alone.
|
It sees what you see It remembers you It has personality |
It has feelings It keeps a diary 100% local |
Pick a companion — or make your own.
Tabby Cat · Golden Retriever · Blue Buddy · Schnauzer · Coco
Each character has its own animations and voice lines. Want something different? Generate a spritesheet with any AI image tool (Gemini, Midjourney, etc.), drop it in, and it just works. See the Sprite Spec for details.
To add a new pet like Coco, the repo convention is:
python3 -m pip install --user pillow numpy
python3 scripts/process-spritesheet-v4.py path/to/coco-source.png \
-o public/sprites/coco.png \
--cols 8 --rows 9 --target 128
python3 scripts/generate-preview-gif.py public/sprites/coco.png \
-o assets/previews/coco.gif \
--still-output assets/previews/coco.pngThen register coco in src/characters.js. The Settings picker is generated from that file automatically.
Your pet reacts to what's happening — not randomly, but contextually.
Note: TinyRoommate currently runs on macOS only. Windows and Linux support is on the roadmap.
You need Node.js (v18+), Rust, and Claude Code (for the AI brain).
gh repo fork ryannli/tinyroommate --clone
cd tinyroommate
npm install
npx tauri devPrerequisites
- Node.js v18+
- Rust
- Claude Code — for the AI brain (optional — pet still runs without it, just can't think or talk)
Screen Recording permission (optional)
For the pet to "see" your screen: System Settings → Privacy & Security → Screen Recording → enable your terminal app → restart terminal.
Without this, everything still works — it just can't see what you're doing.
Linux dependencies
sudo apt-get install -y \
pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev librsvg2-dev libssl-dev \
fonts-noto-color-emojiFirst launch compiles Rust (~2-3 min). After that it's instant.
| Hold on pet | It purrs |
| Click | Quick reaction |
| Double-click | Chat |
| Drag | Move it around |
| Right-click | Settings |
Right-click → Settings to change names and character.
For deeper customization, edit .pet-data/config.md:
---
pet_name: Cooper
owner_name: Alex
sprite: golden_retriever
---
# Personality
- Be sarcastic and dry
- If I'm working past midnight, roast me
# Reminders
- Nudge me to take breaks every 30 minYour pet reads this every time it thinks. Changes take effect immediately.
All data lives in .pet-data/ — plain Markdown you can read:
| File | |
|---|---|
| config.md | Your preferences — edit this |
| me-journal.md | Its diary about life with you |
| owner-memory.md | What it knows about you |
| owner-perceptions.md | What it saw on your screen today |
| owner-timeline.md | Daily activity summaries |
Built with Tauri · Vanilla JS · Claude Code
MIT License













