PYTHON BOT – CHECK POSITION AT UVA MASTERS WAITING LIST

Update: I am in! And I knew it from the second it happen, thank you bot <3

Status: Student.

Degree: MSc in Artificial Intelligence at the University of Amsterdam!

I am currently in the process of finishing my bachelor and I found the perfect master for me in Artificial Intelligence at the University van Amsterdam (UvA). I think they received 400+ applications but could only accept 150 students. Unfortunately, I did not get in and I was set in the 9th place on the waiting list (7th by the time of writing this).

Text retrieved from the website with my position on the waiting list.

I like to think I will get in and would love to know as soon as possible when that happens. I can check my position on the waiting list by login in Datanose.nl and looking at the masters' enrolment procedure.

Login Form In UvA Website.

Since I don't want to go crazy by pressing F5 all day, I created a bot that logins with my user credentials and constantly checks my position on the waiting list, if there is some change in the list it will show a desktop notification in my PC and will send myself an email notifying my new current position.

Python was my go-to language to program this bot, due to my previous experience with it making web scrapers and dealing with the Javascript in the websites.

Ids were dynamic so not a reliable way to find elements in the site.

The bot checks every 60 seconds if my position on the waiting list in Datanose.nl has changed. The website uses javascript and the element ids are dynamic so I had to use a headless instance of chrome using selenium to load the full website and custom Xpaths to find the correct elements.

Code output from the bot and an example of an email notification

Bot features:

  • Login in Datanose.nl.
  • Retrieve position on the waiting list.
  • Save the position in a file. (Crash safe)
  • Windows 10 desktop Notifications.
  • Email notification.
  • Encrypted ids and passwords.

The code is open source and can be find in my GitHub - https://github.com/Noixas/UvA-Admission-Bot

My enrolment status website.

Side note:

I found really interesting that in the dev logs of the datanose.nl website, there is a message from Gerrit Oomens asking if there are students interested in developing DataNose. I think is really a really clever way to find capable people to help with the site. Who knows, maybe I will ask to join if I eventually become a student in UvA.

Rodrigo Alejandro Chávez Mulsa
Rodrigo Alejandro Chávez Mulsa
Machine Learning Engineer

My research interests include computer vision, natural language processing and information retrieval.