The my.itmo portal provides all ITMO students with a way to keep track of their classes, grades, and scores, as well as browse through the latest news and access other ITMO services. It was first devised in 2020 by Andrey Suvorov, currently a PhD student and the head of ITMO’s Corporate Services Development Center, and Semyon Shabanin, currently the head of ITMO’s Corporate Services Design Center.

“It all started with the desire to make the life of students easier. Back then, we had already had several projects under our belt, such as the ITMO.STUDENTS app. The idea was to build a convenient platform where students could register for their classes at the start of each semester. For years, they had to do that through Google Forms – but the more students and courses there were, the more apparent was the need for a separate service to synchronize all the processes. In September 2020, when the registration took place via ISU for the last time, the university received a bunch of negative reviews from students who complained that the service wasn’t user-friendly and didn’t operate well. We did our best to turn things around – and launched course registration on my.itmo.ru in February 2021,” comments Semyon Shabanin, the head of ITMO’s Corporate Services Design Center.

Built on microservices, the platform offers around 100 features, from signing up for courses and sports clubs to ordering documents and applying for dorms. 

Solving the problem of choice

ITMO students are free to shape their own individual learning tracks, meaning that they get to choose courses, their format (online/offline) and level (basic/advanced), the language of instruction (Russian/English), the lecturers, the semester in which they plan to take the course, and even the time of their classes. One of the service’s key objectives is to help students quickly resolve all these issues. 

The tricky part is that registration opens for students in various years simultaneously – a total of around 13,000 people – which may overwhelm the server (up to 6,000 requests per second). Additionally, the system has to take into account the large number of courses available for students. For instance, first-year students have a choice of around 70 courses in their first semester alone – making for approximately one and a half trillion available combinations. 

To solve the problem, the developers deployed a range of Yandex Cloud services. 

Here is how it works: the web service forms a list of courses available for registration based on the curriculum uploaded by university lecturers and then builds an individual learning track for each student based on their choices. As of now, the platform takes around an hour to create a schedule.

my.itmo. Credit: ITMO University

my.itmo. Credit: ITMO University

Collaborations

For the project, the developers collaborated with Yandex – and applied their Yandex Cloud Functions and Yandex Message Queue tools to list all disciplines and possible choices. As a bonus, my.itmo users also received free access to Yandex 360 services, including Yandex Mail, Yandex Disk, Yandex Telemost, Yandex Messenger, Yandex Notes, and many others. 

The developers believe Yandex’s technologies made my.itmo more efficient: 

“With Yandex Cloud, we can spend more time developing services rather than setting them up and maintaining them. One of the things we need to ensure is that students’ choices are in line with their curricula. We use Yandex Managed Service for PostgreSQL to store students’ choices and curricula and Yandex Cloud Functions – to process requests from users. Unlike other services, it doesn’t need to constantly run in the background and only consumes as much resources as needed at the time,” explains Semyon Shabanin.

To prevent server overload, the developers turned to Managed Service for Kubernetes (for scaling and deploying apps) and Managed Service for Apache Kafka (for managing brokers). 

By students – and for students

The development team consists of ITMO students and graduates exclusively. This way, they can not only acquire valuable experience, but also be officially employed whilst still at university. 

“I've been a front-end developer for two years now. I bring our designers’ ideas to life and connect them with the back-end side of things. Overall, I think my.itmo is better than ISU – yet we still have a long way to go. Notably, my.itmo isn’t a product for students only; it has some features for lecturers and staff, as well, like sports and language courses. I take joy in the fact that I’m helping the students and staff of my alma mater with my.itmo,” shares Andrey Beresnev, a developer of my.itmo and a Master’s student at ITMO’s Faculty of Infocommunication Technologies. 

What’s next

The team is planning to create a recommendation system in the form of a smart assistant that will navigate students through the list of courses and help them form their individual learning tracks based on their interests and needs. 

“In the future, we hope to experiment with other Yandex services, such as Yandex Database – a service that can process a million requests per second and remain operational even in the case of a data center failure. This system is used in Yandex Go, Yandex Metrica, Yandex Market, and Alisa,” notes Semyon Shabanin.