Inspiration
We wanted to create a desktop companion like Desktop Goose, cute, annoying and dubiously useful. We looked towards an authority figure to enforce some rules and discipline and settled on the typical Asian mother. Someone who is rather strict and enforcing, who will hold you accountable to your actions
What it does
- Opening the launcher will bring up a configuration page where you can adjust your productivity settings
- After launch, your Asian mom will stay on top of your desktop and accompany you. She gets happy, sad, or even angry depending on how productive you are.
- Every once in awhile, she'll remind you to drink water, sit up straight and take breaks from the screen
- Every few minutes, she takes a screenshot of your screen and determines what you're doing and if it's productive. If it's not productive, she'll get angry...
- At bedtime, she will shutdown your computer. She'll warn you 15 minutes, 5 minutes, and 1 minute before; you can bargain for more time if you need, but if you don't give a valid reason, she'll get angrier...
- She knows what programs you're running. If you try to open forbidden software, like games when you should be studying, she'll get EVEN angrier...
- And if you make her FURIOUS, you might get hit by a slipper...
How we built it
Configuration page built with Electron, React, Vite, Tailwind. From there it launches a PyQt6 desktop app. For bargaining, we use an LLM To determine if you're productive, we use an multimodal-to-text model Everything windows related is done natively in python
vibes and vibe coding
Challenges we ran into
Python exe generation is slow and clunky, and faces MANY issues especially with AI libraries with complex dependencies
Accomplishments that we're proud of
The app actually works What we initially planned to do was completed
What we learned
be wary of pyinstaller (py exe in general) with libraries that have a LOT of dependencies
advantages of maintaining a clean git structure and using package managers
multiprocessing
What's next for urmom
More syncing between the different parts would be good For example, when she grants an extension because you have an assignment due tomorrow, you had better be doing it A dialogue box to converse with mom to ask for things that you might need
Log in or sign up for Devpost to join the conversation.