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

Built With

Share this project:

Updates