As high school students during the pandemic, we have to endure something known as "online learning". During our online classes, we wanted to be notified for important moments in our education, such as taking attendance (teachers have unfortunately realized that taking attendance at a predictable time such as at the start or end of class is not smart) or being called on by the teacher. We realized that this idea has applications to many situations e.g. meetings in an online workplace.

What it does

The userscript listens for keywords, and when a keyword is said, a notification will be sent to the mobile app. In addition, the app receives a real-time transcript of the online meet, so that when the user is notified they will be able to have context on the meeting. There is also a convenient feature to send canned messages from the comfort of your phone!

How we built it

javascript on frontend, node backend, react native + expo on phone

  • yoink text from closed captions (and avoid the mess of having to deal with audio / ml / idk uwu)
  • send to backend where we do some crappy O(N!) "count substring in string" thing that we coded at 4am over discord screenshare
  • some library does the notification part idk
  • yay we are done
  • oh right we wanted the feature with canned messages
  • uhhh how do websockets work
  • screw it let's just query the server for new messages every second its fast enoughTM
  • oh yeah we also use the "instead of server tell client to do things, have client ask server if there are new things every x seconds" when storing the real time transcript because uhh websockets are hard

Challenges we ran into

  • we overestimated our competency and decided that since this was a relatively simple project we would be fine
  • javascript is really bad
  • testing is hard because you have to open up a google meet and say things and wait and do things before the caption disappears
  • pair programming over discord screenshare
  • honestly everything

Accomplishments that we're proud of

it like actually works which surpassed our expectations by a lot

What we learned

as someone who mainly trains for algo/ds programming contests, I have been reminded of how much i hate "irl" coding and im considering becoming a math teacher - marcus

im actually ashamed of some of the mega disgusting code i wrote :) reinforcing why good oop practices are important even habitually since i forgot what all my code does already xd - bert

What's next for Watchdog

we feel like people would unironically use this

Built With

  • tears
+ 10 more
Share this project: