Every six months, our office hosts the protection of the projects of graduates of the Mail.Ru Group educational programs. This time, the guys from Technopark (our joint project with MSTU named after N.E. Bauman), Technosphere (project at MSU) and Technotrack (at MIPT) presented not only their projects, but also educational projects on the TK of various products from Mail. Ru Group: this is VKontakte, Odnoklassniki and Welcome Mail.Ru. We have prepared for you the best projects for the release of the winter semester with comments from their creators.
Project team: Maxim Pedoshenko, Ekaterina Zamyatina
What is the essence
The idea of the project appeared two years ago, and we planned the launch last year. Having added the service to a viable level and connected the first printers, we began to carry out tests at the faculty of general and applied physics (FOPF) of our institute. People wrote us about errors and left feedback about usability. During testing, we discovered technical problems: they were connected with the connection of printers, the theft of paper by students and usability. When the project was developed, it seemed obvious to us how to use it, but people did not see the big red buttons and refused to read the fact-finding text. Therefore, the design and functionality of the site is remade so far, so that they become absolutely clear to the user.
The project in detail
We started to develop the project in the classroom on Django from Technotrak, which Ilya Stytsenko led, and analyze the idea itself from a commercial point of view, metrics and other things - in the lessons "Interface Development" by Alexei Moiseenko. Initially, the idea was implemented at the Physical and Technical Institute, but the people who were involved in it abandoned the support of the application and the maintenance of the printers themselves, so Maxim offered to compete with them.
The project was completely written in django, we had a dedicated server, to which we poured the new code without any gits, then gradually switched to separating the backend and frontend, pushing Django Templates React back. The project developed very quickly, and in the code it became difficult to navigate, then we created a closed repository for ourselves on the githaba. At first, each person had one branch of his own for development, everything was merged into a master, but we quickly realized that this was inconvenient, and we began to create our own branch for each problem. So it became more convenient. There was a branch for each problem - it was logical to start a task tracker (Jira), now we are developing, just like in the projects from Mail.Ru Group. At the moment, each developer (the two of us) have their own version of the site at a separate address, each copy is deployed in a couple of minutes using a set of deployment scripts.
Now we are officially launched at MIPT. Immediately after the defense, they wrote to us from other faculties and offered to open printers - this suggests that we are doing something really useful and in demand. Now we are refining our service to the needs and characteristics of other universities, and very soon we will try to open in other places.
Project team: Vladimir Bugaevsky, Dana Zlochevskaya, Ralina Shavalieva
What is the essence
The project idea was suggested to us by our mentors: Alexey Voropaev and Dmitry Solovyov. Once there was a Sony player who could classify songs according to four moods. Taking into account the fact that the technologies have made great strides forward, and the areas related to artificial intelligence and neural networks are actively developing lately, we realized that we can do something more cool and cool that our users will like. We decided to create a music map that would visualize the mood of the audio records of the user VKontakte. We chose this site because it is very popular and many people (including us) keep their favorite audio recordings there.
The project in detail
Our application is an extension for the Chrome browser - it is easy to install and convenient to use. Naturally, we began by studying the problem: what approaches were used to determine the mood of the music. Looking at about a dozen scientific articles, we realized that almost no one tried to use neural networks to analyze the emotions of audio recordings.
Another challenge for us was the task of visualizing emotions. It turned out that in psychology there are many models of the representation of human moods, each of which has its own advantages and disadvantages. We stopped at the so-called circmplex spatial model: its idea is that any emotion can be represented as a point in two-dimensional space. Thanks to this scale, we were able to visualize his audio recordings in an understandable way for the user in accordance with their moods.
We have identified three fronts of work on our application:
The scope of work was extremely large, so everyone could try himself in everything. Our team acted very smoothly: we constantly came up with different ways to solve various tasks and helped each other to understand the features of the implementation of individual parts. The main difficulty we encountered was an extremely short time frame - three months. In this short time, we had to figure out from scratch the development of the frontend (learn how to write in JavaScript), the intricacies of the neural network learning framework (PyTorch) and learn modular development technologies (Docker). At the moment, our application is already installed in test mode for several users.
Roman Vasilyev
What is the essence
The idea came to us on a brainstorming session when we were five of us: Sergey, I, Timur, and our mentors, Alexey and Dmitry. We sat and thought, for what such neural networks can be used to make it good. We chose, I must say, out of pragmatic considerations, so that it would be interesting, but more or less clear, what and how to do, and, therefore, really meet the deadlines with our workload.
What is the benefit of the project? Perhaps this is one of the narrowest places. Here I can say that many applications and services carry only one payload: they are fun and funny. For example, what is the benefit of the fact that we impose artistic filters on the photos of our cats and make them even more nyashny? Here is the same story: they took a portrait and changed the background to something more interesting. But from a technical point of view, there is something to think about: which architecture to take, which learning algorithm, with which parameters - and many other subtleties.
The project in detail
Technologies and languages we used mainly those that were studied in the Technosphere. For neural networks, this was the PyTorch framework and, accordingly, Python, for the server part, Golang was used, which allowed us to quickly and simply create a high-performance, reliable and scalable backend. Fortunately, this summer I took an intensive course in this language. We mainly worked on neural networks and the server, and minimized the client as much as possible: we made it in the form of a single HTML page with a form for sending POST requests. Because rather quickly there are only two of us left in the team - me and Sergey, but time and effort were not added.
At first we studied articles and selected architecture, datasets for training. Somewhere by October-November, we already had a working prototype of the server-side, where we connected the neural network, in parallel, we continued experiments on its training and improved quality. Most importantly, we managed to train the neural network and come to this defense: our main goal was just that. If we talk about the further development of the project, then this will require developing a beautiful frontend, for example, in the form of a mobile application or bot for Telegram, implementing additional features such as blurring the background and applying filters and, of course, train on heterogeneous data. At the end of the project, we have a strong feeling that we can work on it for a long time.
Sergey Grabalin
Project team: Evgeny Novikov, Igor Eckert, Andrei Kochetkov
What is the essence
The idea was provided to us by the Mail.Ru Good Team. Initially, the idea sounded as an ancillary service that can, by gamification, attract new users to the Good service. Later we met several times with representatives of the Good, showed that there is at the moment, and offered our ideas. Now the application has two main features - it is a dispute between users and an alarm clock. The idea of an alarm clock is that for every transfer of his money is written off to charity.
The project in detail
Each user of the application can offer a friend a bet, specifying the amount of the bet, the description of the dispute and the date of the end of the dispute. If a friend accepts a bet, then on the day the dispute ends, both users should note which of them won. The winner gets the opponent's bet, and part of the funds goes to charity. It is important that you argue with your friends from social networks. There is also a so-called tape of friends, where the activities of friends fall. For good deeds, Ivan gets achievements that can be shared with friends.
From a technical point of view, everything is quite simple. Beck is written on python with jango. Base - MongoDB. The iOS application is written in Swift. The architecture chosen is the Viper architecture. Also, our application uses reactive programming, and in particular its implementation for the Swift language: these are RxSwift and RxCocoa.
Project team: Vladislav Smirnov, Dmitry Rudnev, Alexey Mokeev, Martin Komitski
What is the essence
From the employees of various departments of the Mail.Ru Group, we learned that there are many email-mailing services within the company, while each is tailored to its own department, and not a single service provides advanced analytics. So we decided to make our own service, which would combine the best aspects of all available, provide analytics and have good prospects for the future.
Our service allows you to make marketing email-mailing address books using templates. For templates in the web interface there is a visual editor. In the address books, each recipient can be set variables. For advanced mailings provided analyst. If desired, the service can be configured to work with your own domain.
The project in detail
For our project there were three roles: frontend, backend and system administration. The team focused on the architecturally complex backend, assigning two participants there, and one each for the frontend and system administration (devops, security audit, server maintenance, etc.). Development was mainly conducted together in the Mail.Ru Group office, since quite often it was necessary to make various architectural decisions.
What technologies used
During the development we faced various problems. Probably, the honest passage through Antispam of various mail services seems to be the most difficult. We also spent a lot of time studying and configuring mail and network technologies. It was very difficult to build a flexible architecture right away, as a result of which it was changed several times for the better. After we developed the MVP, the first people who wanted to test our system appeared: they were the employees of the HR department, who daily manually make a lot of mailings.
We developed the service in our closed repositories, as the service has a commercial potential. Test the project can be the link .
Presentations can be viewed here . What projects from the submitted you would rate the maximum score?
Source: https://habr.com/ru/post/347038/
All Articles