Virtual Roommate is a friendly desktop companion that keeps you on track with randomized reminders based on your selected "personality" — Zen or Gremlin. It lives in your system tray, giving nudges, encouragement, or chaos (depending on your mood).
Get reminded to drink water, stretch, or just... vibe.
- Random reminder popups at customizable intervals
- Switch between Zen and Gremlin personalities
- Voice + Toast notifications
- Detects AFK (away-from-keyboard) state to pause reminders
- Runs silently in system tray
- Modular personality & quote structure
- Clone or download the repo.
- Make sure
Python 3.10+is installed. - Install dependencies:
pip install -r requirements.txt- Add your custom quotes in
roommate_quotes.py.
To create a standalone .exe with all files bundled (no external dependencies):
pyinstaller main.py --name "VirtualRoommate" --icon=icon.ico --noconsole --onefile --add-data "icon.ico;."For development, just run
python main.py
VirtualRoommate/
├── main.py # Main app
├── roommate_quotes.py # All quotes & interval logic
├── afk_checker.py # Detects user activity
├── icon.ico # Tray icon
└── requirements.txt
- Gremlin: Chaotic & hilarious reminders like "Posture? Nah. Become shrimp."
- Zen: Calmer nudges like "Take a breath. Your peace matters."
Easily switch personalities from the tray icon.
Right-click on the tray icon → Quit
If anything breaks, an error.log file will be created in the same directory with the stack trace.
- Missing icon.ico? Make sure it's bundled correctly with
--add-data. - Executable doesn't run? Try using
--onefile --noconsoleand test withoutpyttsx3first.
MIT — Customize, break, and enhance it however you want!