You know that feeling when you're coding at 2 AM and wish someone was there with you?
Meet Murchi — a kawaii desktop cat that lives on your macOS dock, walks around your screen, reacts to your music, and now can actually talk to you powered by Gemini AI.
## What is this?
Murchi is a desktop Tamagotchi for macOS. A tiny animated cat that:
- 🐾 Walks on your Dock like it's a shelf
- 🎵 Detects Apple Music / Spotify and dances (or hates your music 25% of the time)
- 😿 Goes to the corner and cries if you punish it
- 🖱️ Dangles from the scruff when you drag it
- 💬 Chats with you via Gemini AI — in character, as a cat
- 🐟 Needs feeding, bathing, playing — classic Tamagotchi loop
It sits in your menu bar as =^.^= and just... lives there.
The Tech Stack (it's cursed and I love it)
The entire app is one Swift file. 7000+ lines. No Xcode project. No storyboards. No SwiftUI.
- Pure AppKit —
NSPanel,NSImageView, rawCGContextdrawing - SVG strings rendered to NSImage — every animation frame is an SVG built in code
- No sprites, no assets — the cat is literally constructed from bezier paths and hex colors
- Gravity physics, dock detection via
CGWindowListCopyWindowInfo - Music detection via AppleScript (
tell application "Spotify" to player state) - AI chat via Gemini 2.0 Flash REST API with
URLSession - Built and packaged with a 100-line
build-app.sh— no Xcode needed
The AI Part
The cat has personality. When you chat with it, Gemini knows:
- The cat's name, level, and evolution stage
- Current mood, hunger, happiness stats
- It responds in 1-3 sentences with cat sounds ("mrrrow~!", "purrr")
let systemPrompt = """
You are Murchi, an adorable kawaii desktop cat.
Your personality: playful, cute, a bit mischievous.
Keep responses SHORT. Use cat sounds like "mrrrow", "mew".
Current mood: \(stats.mood). Hunger: \(Int(stats.hunger))%.
"""
Users can plug in their own Gemini API key in settings, or it works out of the box.
The Entire Thing Was Built with Claude Code
I'm not going to pretend — this project was built almost entirely in conversation with Claude Code (Anthropic's CLI agent). I described what I wanted, it wrote the code, I tested, gave feedback, it fixed.
The workflow:
- Me: "I want a cat that walks on the dock"
- Claude: writes 2000 lines of SVG renderer
- Me: "the cat is orange, it should be peach"
- Claude: rewrites entire renderer
- Me: "now make it talk with AI"
- Claude: adds Gemini integration in 15 minutes
Every commit in the repo is co-authored with Claude. This is what AI-assisted development actually looks like — not replacing the developer, but making ambitious side projects actually possible on a weekend.
Try It
It's free, open source, and works on any Mac (macOS 12+):
⬇️ https://github.com/egorfedorov/murchi/releases/latest
🐙 https://github.com/egorfedorov/murchi
No Xcode needed to build — just bash build-app.sh.
If you've ever wanted a pet on your desktop that judges your music taste and occasionally poops on your screen — this is it.
mrrrow~! 🐱
Top comments (0)