It started simple. My mom keeps forgetting birthdays and important dates. I wanted something that lives on her desktop, stays out of the way, and just... reminds her.
So I built a small animated desktop pet in Python.
Then I kept adding things.
What it became:
A fully animated desktop companion that lives on top of all windows, sits in the system tray, and has a chat assistant you can talk to in natural language.
You can say things like:
"birthday Tanya May 28" — it figures out the age, asks how to remind, done
"move meeting to June 1" — finds the event, updates it
"delete birthday Ani" — fuzzy search, finds it even with typos
Tech stack:
Python + PyQt5
JSON for local storage (no cloud, no accounts)
PyInstaller for the exe build
Everything runs locally in %APPDATA%
Some things I learned building this:
QCalendarWidget is a nightmare to theme. You can style everything around it but the moment you touch its internal table — visual artifacts everywhere. Solution: keep the calendar light, theme everything else.
Natural language parsing without ML is humbling. Lots of edge cases. "в час дня" should be 13:00, not 01:00. "meeting with doctor" should not become "meeting today doctor" because of a slang dictionary entry.
The result:
Mom has a pet on her desktop now. It works. She likes it.
GitHub: https://github.com/kaiCATs/pet-reminder
Open source, Windows, free. If you want a tiny animated friend on your desktop who actually remembers things — give it a try.

Top comments (0)