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 · Tuxedo Cat · 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 the asset format and TinyRoommate pipeline.
If you're contributing or reviewing changes, start with docs/README.md.
It links to the current:
- product spec
- interaction/UI spec
- development workflow
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
npm run tauri:devnpm run tauri:dev picks an open port automatically. Set TAURI_DEV_PORT=5180 to pin Tauri dev to a specific port, or PORT=5180 when running the frontend without Tauri.
Prerequisites
- 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














