Inspiration: As computer science and physics students, we know how isolating and draining long nights of coding and problem-solving can be. We wanted to build a "desktop buddy" that does more than just sit there; we wanted a companion that proactively supports mental health by offering a sense of presence and encouragement when burnout starts to set in.
What it does: CitrusPet is a transparent desktop overlay that features an interactive AI cat that lives on your taskbar. It uses a combination of screen sensing and activity tracking to provide real-time, vocalized words of encouragement and positive affirmations, acting as a digital support system to keep you motivated during intensive work sessions.
How we built it: The project is built on Python 3.12 using PyQt6 for the transparent, always-on-top GUI. We integrated Google Gemini for the pet's intelligent dialogue and ElevenLabs for its realistic voice, while using pynput and win32gui to allow the pet to sense user activity and stay pinned to the Windows desktop environment.
Challenges we ran into: The biggest hurdle was environment configuration, specifically navigating the transition from Python 3.14 to 3.12 to resolve build errors for the Pygame and pynput libraries. We also faced technical difficulties in managing Windows-specific UI hooks to ensure the pet remained non-intrusive and correctly layered over other applications.
Accomplishments that we're proud of: We are incredibly proud of creating a seamless, "click-through" transparent window that feels like a natural part of the OS rather than a clunky app. Successfully orchestrating five different APIs and libraries to work together in a stable environment was a major win for our team.
What we learned: This project gave us a deep dive into environment management, the importance of version-specific library stability, and how to use low-level Windows APIs to manipulate window behavior. We also learned how to balance AI response times with UI performance to keep the pet’s interactions feeling "alive."
What's next for PCet: We plan to implement more complex "states" for the pet, such as getting excited when you finish a coding task or having more playful modes. We also hope to add customizable skins and expanded "senses" so the pet can recognize specific software—like offering extra encouragement when it sees you open a debugger.
Built With
- elevenlabs-api
- google-gemini-(google-genai)
- pygame
- pynput
- pyqt6
- python-3.12
- python-dotenv
- scoop
- win32gui
Log in or sign up for Devpost to join the conversation.