portfolio
Link to Telegram profile Link to VK profile Link to e-mail Link to hevy app

Vadim Popov

My photo

Companies

MIPT – Phys-Tech Lyceum

It is not the first year that the Lyceum holds an online recruitment of students for the new academic year. In this launch, I led the development of plugins for Moodle system that allows to automate the process and take the workload off the organizers.

LMS link
MIPT Phys-Tech Lyceum MIPT
VK company
VK – Intern iOS Developer

Summer 2023 internship in VKontakte. Worked in the team to develop and improve the functionality of the feed and recommendations.

Lead Andrew Fedotov

FluentRussia

The company is engaged in teaching English, mainly provides corporate solutions for employee training.

I have set up several landing-page sites. Everyone in the company is used to WordPress, so the sites were written as themes for WP with embedded plugins for processing applications.

For example, there was a project in collaboration with rys2.ru, in which students were invited to go to a summer camp.

Main site
FluentRussia company

Education

ITMO University student, department of Computer Science

2021-2025

FML31 logo

Graduate from the top-3 school in Russia in terms of graduate competitiveness

2017-2021

Completed a Python course in Yandex School of Data Analysis (in collaboration with ITMO)

Fall 2023

VK Education logo

Completed an iOS Development course in VK Education (in collaboration with ITMO)

Fall 2022

Projects

Filter by industry: iOS PHP Python C++

project image
Weather App

Test assignment for the VK Market 2024 internship. It was completed in 4*15 hours of work. The design consisted of several parts of different projects found on Behance.

This app is build on two underlying systems: OpenWeather API integration and a CoreData-based cache mechanism. A dynamic search function was implemented to allow users to search for places on a map.

iOSSwiftUIKitCoreDataMapKitOpenWeather API

project image
MIPT Phys-Tech Lyceum LMS

This is a learning management system in which students write the first stages of olympiads, some exams, tests, etc. For several years now, the selection for admission to this lyceum has been conducted on the basis of this site. My task was to rework the current algorithm of the plugin to make it work stable and introduce new features.

So now the entire stage of primary selection takes place in this system, each scenario has been worked out and does not require manual processing.

PHPMoodleAMD JS

There might be an illustrarion of the project...

Parser generator

Parser generator for reading, processing, executing, or translating structured text or binary files (ANTLR like).

Generates Python 3 code for processing .g4 files as implemented in ANTLR. File parsing .g4 is realized with the help of the ANTLR parser according to the written syntax of such files.

Supports SLR grammars, bottom-up parsing, synthesized and inherited attributes.

PythonANTLR

There might be an illustrarion of the project...

Swift to C++ translator

Implementation of the ANTLR Listener for parsing and processing a file with code and translating syntax into another language.

PythonANTLR

There might be an illustrarion of the project...

Prediction of wine ratings

The data was obtained by parsing the entire Vivino website and was supplemented with information from the Wine Enthusiast database published on Kaggle.

An analysis of the use of various machine learning algorithms was conducted and those that are best suited to the desired tasks were identified. For example, predicting the success of the vintage and the number of "world top percentages" this wine is able to achieve.

PythonML

project image
Virus game

The game is a table of cells, each of which has two states: infected or not. The user can infect cells by clicking on them. Once in a beat, the neighbors of infected cells become infected. The game ends when all the cells have become infected.

The main difficulty is multithreading and efficient use of resources. Since the table can be zoomed and scrolled, it is important that the displayed cells are not unloaded from memory, and the main processor thread is not busy so that there is smooth interaction.

iOSSwiftUIKit

project image
Game 2048

The well-known game 2048 in a minimalistic design. The colors of the dice are determined by the distribution function of the number written on it; the last state of the board is remembered so that when you re-enter the game you can continue the previous game; both light and dark themes are supported.

iOSSwiftUIKit

project image
Voice Recorder

A voice-recording app that allows users to record, save, and play back their voice recordings.

iOSSwiftUIKitAVFoundationRealm

project image
BeReal

An analogue to the well-known app. However, in this app, data is stored locally, so it is not a social media platform, but a personal archive of your life's stories.

iOSSwiftUIKit

project image
Photo Editor

With an eye on the Telegram iOS Contest 2022, Round 1.

In a short period of time, I was not able to implement all the necessary features. However, However, the application allows you to create drawings on a canvas, selecting the color and line thickness.

iOSSwiftSwiftUI

There might be an illustrarion of the project...

COW implementation on xv6

xv6 is an operating system created at MIT for learning. One of the possible modifications is the implementation of the copy-on-write mechanism, which was done.

C++

There might be an illustrarion of the project...

Cloud file storage

Implementation of a network file system in the form of a Linux module.

Based on the provided API, an independent module has been created that supports basic file writing, storage, deletion, and editing functions.

C++

There might be an illustrarion of the project...

WordNet

Implementation according to the principles of the WordNet of Princeton University to find the semantic proximity of words and highlight the “superfluous” from the list.

C++

project image
Immersion FluentRussia

The site offers various options for personal English learning.

PHPWordPress

project image
White Owls Academy

Courses for children offering various formats and subjects of study. Information about various activities is published here. This site is also aimed at the families of employees of companies that FluentRussia cooperates with.

PHPWordPress

project image
Disassembler utility

Allows you to parse elf files, completely parsing their structure. Supports almost all known commands.

C++

There might be an illustrarion of the project...

Second Chance + Buddy

Managing virtual memory pages. Extending the pool allocator implementation to the buddy system and adding a feature for using objects in the cache (FIFO).

C++

project image
Contrast changing algorithm

An effective implementation of an algorithm for increasing the contrast of an image with a given coefficient. The parallelization of calculations has been thought out.

C++OpenMP