i built a green blob that lives on my desktop. now it has feelings.
Description and use
Mochi is a lightweight Linux desktop companion that remembers interactions, reacts to contextual activity, and offers a gentle Pomodoro timer without cloud services or intrusive notifications.
Problem
Creating a lightweight, privacy‑respecting desktop companion that feels alive and useful without becoming a productivity burden.
Outcome
Mochi evolved from a simple animated blob into a persistent, context‑aware desktop companion that offers gentle productivity support without demanding maintenance, demonstrating how thoughtful design can balance engagement and privacy.
Workflow
- 1. Implement basic movement and idle animations using Python, GTK4, PyGObject, and Cairo.
- 2. Add a state machine to manage animations and interactions, preventing timer conflicts.
- 3. Introduce a persistent bond system that records interaction history across sessions.
- 4. Build an emote catalogue and integrate it with the state machine for coherent reactions.
- 5. Add context awareness by mapping desktop activity (terminal, typing, media) to semantic signals.
- 6. Implement a Focus with Mochi Pomodoro timer that contributes to bond during work periods.
- 7. Refine UI to avoid intrusive windows, handle Wayland/XWayland, and clean up on shutdown.
Evidence
Mochi started as a pixel‑art desktop companion for Linux.
v0.3 introduces persistent bond progression.
Focus with Mochi is my first experiment in making the companion genuinely useful without turning him into another productivity dashboard.
- Record date: 2026-09-22T05:45:20.431Z