Mochi - A tiny hand-drawn desktop companion for Linux

by
Mochi is an open-source desktop companion for Linux built with Python and GTK4. He wanders, sleeps, reacts to typing, and can be picked up and dragged around your desktop. I hand-draw and animate every sprite and create the sound effects myself. Building Mochi has also taught me a ton about GTK4, Wayland, GNOME/Mutter, state management, input handling, and debugging.

Add a comment

Replies

Best
Maker
📌
I started Mochi because I wanted a little creature living on my Linux desktop. I didn’t want an AI assistant, productivity tool, or something constantly asking for attention. I just wanted a small companion that could exist alongside whatever I was already doing. I thought it would be a pretty simple GTK project. It was not lol. Building Mochi has pushed me into learning a lot about GTK4, Wayland, GNOME/Mutter, XWayland, input handling, animation states, lifecycle logic, and all the weird edge cases that come with making a desktop pet behave properly on modern Linux. I also wanted Mochi to feel handmade. I draw and animate the sprites myself, frame by frame, and create the sound effects myself too. A huge part of the project is figuring out how to make a little blob feel alive through tiny behaviors like breathing, blinking, sleeping, reacting to typing, being picked up, and wandering around. I do use AI coding agents as part of my workflow for things like debugging, refactoring, testing, code review, and investigating unfamiliar parts of the Linux stack. I still make the product decisions, design the behavior, create the art and sounds, review the code, test the changes, and work through the architecture myself. Mochi started as something cute I wanted for my own desktop, but it’s turned into one of the best learning projects I’ve worked on. I’d love feedback, especially from Linux, GTK, Wayland, or desktop-app developers. 🌱