Intro

About me

I was born and raised in Belarus. I've always been interested in action sports, computer technologies, languages and psychology. I studied at Linguistic University in Minsk, Belarus. I speak English and Russian fluently. I am a self-driven, outgoing person and I am always looking for new challenges to overcome and problems to solve. For the last few years, I have worked in sales and as an estimator at a moving company which greatly improved my communication skills. Recently, I completed a 12-week web development immersive course at General Assembly. While there, I acquired skills in programming languages such as Ruby and JavaScript, as well as built web applications using Rails and Backbone.js frameworks.

Professional Background

IVFQC (Althea Science)

IVFqc (Althea Science) is a community of embryologists, geneticists, health workers and patients who are involved in developing a contemporary suite of new Apps.

Applications that I worked on:
Generations - flexible application to track IVF process.
Reflections - application for laboratory quality control, reporting and data entry.

Position: Remote Contract Software Engineer

Work term: March 2019 - August 2019

Responsibilities and achievemnts:

  • Created a feature that enqueues autosaved requests from input field to browser LocalStorage, sends requests to server, removes them from the queue, or notifies the client of a network error and attempts to send requests again until success. Helps to solve the issue with unstable internet connection on client side. Solution was implemented in similar fashion to Generations and Reflections applications.
  • Created Session Monitor feature on front end of Reflections and Generations applications that sets timer based on JWT expiration time, warns users of soon expiring session few minutes before in case of no requests sent to server and signs the user out if no action taken.
  • Refactored a couple modals in Generations to load data once their open, rather than reload the whole page to update them on every autosave trigger in text input fields
  • Extracted some statistical data from Reflections DB for future analysis.
  • Started internationalizing Reflections application to Russian and Spanish languages using Rails I18n gem. Started with Home page.

XO Group Inc

XO Group Inc. helps couples navigate and enjoy life's biggest moments. A premiere consumer internet and media company devoted to weddings, pregnancy and everything in between, XO Group owns and operates The Knot, The Nest and The Bump.

XO Group Inc follows most of the Agile methodologies: every team usually consists of several engineers, project manager, lead engineer and designer. Every team has morning standup, weekly IPMs, weekly development discussions, weekly manager and team member 1on1s, monthly retro meetings. Every team is responsible for 1 to 5 independent applications that interact with others through APIs. 90% of development is test driven (or post-development) pair programming.

Position: Software Engineer

Work term: January 2016 - November 2018

Responsibilities and achievemnts:

  • Completed multiple A/B tests.
  • Refactored product gallery filters implemented with Backbone.js in Ruby on Rails application.
  • Took part in building Engagement Ring wish list application, that helps bride-to-be hint her boyfriend/girlfriend on the ring she'd like to receive. The application is built with React 15 and MobX as store management and Node.js accessing several company's APIs in order to aggregate favorited Rings, their features, and salons in the are, that carry them.
  • Refactored legacy Admin application that manages products and designers on result pages of theknot.com. It's a single page application built with React.js and served with Node.js, that manages Postgres DB of main fashion Rails based API. I've taken part in upgrading React version from 13 to 15 updating syntax and multiple tests. Assisted in securing it with JWT authorization.
  • I've recently been taking part in building quiz type of application that guides brides in wedding dress selection and helps them understand their styles and recommends dresses and salons that they carry. The application forks off of existing similar quiz type app built with serverless Node.js on AWS Lambda and React 16 with Redux on front end.

AlumniFire

Alumnifire is the first alumni networking platform powered by alumni that engages members to open doors and opportunities for one another in the real world and on their own terms. Alumnifire activates alumni networks of any kind, tapping into their powerful yet often underutilized value to drive measurable and relevant outcomes for alumni, students, affinity groups and schools.

The platform is built primarily with Ruby on Rails 4.2 and Ruby 2.2.3 with JS, JQuery and Bootstrap on front end. People search on the platform is utilizing ElasticSearch. Email services work as background jobs and implemented with Redis, DelayedJob and Resque.

Position: Full Stack web developer

Work term: November 2014 - December 2015

Responsibilities and achievemnts:

  • Created a dataset of over 1600 objects of 4 year US colleges and universities, each with attributes as: name, colors, mascot, location, founded year, subdomain.
  • Collected large statistical data from all platform usage, created objects in DB, applied Google Analytics API to collect page visit and event counts. Implemented collected data in 10 administrator tables that aggregate all required data for last 4, 7 and 30 days.
  • Built content management platform of About Guides and Articles of the website.
  • Contributed to creation of school Moderator Tools: created feature that allows moderators suspend/approve users and send notifications, filter unwanted feed items
  • Added user features as "Welcome" new user, "Bookmark" feed item (person, job, company).
  • Built School Quiz generation platform, that allows administrator to create new quiz, add questions, answers, ratings. Created actual user Quiz feature, that engages user in step by step quiz with multiple answer questions about history and information of the college they graduated. The Quiz can serve purpose of survey and generate useful statistical information.
  • Built feature that allows users to search for people that are offering internships within their companies. It is customized search that saves previous user search criteria until it gets fulfilled. Fulfilled term means the user will be able to send multiple references to his/her resume. Locally extended functionality of Chosen jQuery plugin in order to preload option to select tag via AJAX (is utilized for location search criteria).

Invibox Inc

It's an email provider that implements request feature to filter incoming messages as its own spam-filter function. The platform is written in Meteor.js framework and based on Mongo Database. The email server is currently running on AWS SES for outgoing messages and Haraka SMTP server (based on plugins written in Node.js) for outgoing messages.

Position: Full Stack web developer

Work term: July 2014 - end of September 2014

Responsibilities and achievemnts:

  • Fixed several bugs as deleting selected messages, blocking unwanted email addresses by dragging contact request to block area, adding contacts to separate groups.
  • Added calendar feature to the platform. I used FullCalendar jQuery plugin and adapted it to Meteor.js platform. Made usure user can create new events and change their detail. Set up month and week calendar views.
  • Completed existing Haraka SMTP server plugin to be able to receive incoming messages and create new conversations with them and save in Mongo database
  • Ensured reactivity of incoming requests and messages in Meteor.js way

My development Projects

Imago

Imago is a simple image editor that allows a user to create an account, album, draw an image. They can save it, update it or delete it, as well as upload an image from the internet via a link or upload a file from his/her personal computer.There are different colors and brush widths available, user can also change brightness, invert colors, pixelate or apply grey scale filter to his uploaded or drawn image.

Source code. Or click a picture to go to the website.

Skydive Pages

Skydive Pages is a management tool for people involved in the sport of Skydiving. It logs completed jumps, structures their details such as location, aircraft, gear used, exit altitude, freefall time, as well as associated pictures and videos taken during those jumps. It allows users to share jump info/pictures/videos with other users. Users can comment on shared pictures. Owned and commented jumps are grouped in calender allowing intuitive naviagtion. My favourite feature that is already available is a witness signature, that resembles real logbook situation, when every jumped is proof-signed by fellow skydiver. This is an ongoing project, and it's being updated daily.

Source code. Or click a picture to go to the website.

yagobuzzit.github.io

It is a small portfolio page for a friend where he can list his video editing work. It is ongoing project. It is fully built with Angular.js. I have adapted Masonry.js, Angular Bootstrap UI and Fancybox libraries to work with Angular and to have interesting visual effect to place and rearrange video screenshots in the grid. The web site has admin page that allow site owner to manipulate content of the website which is stored on Firebase back-end service. Admin authorization and I\O is implemented with AngularFire API from Firebase.

Source code. Or click a picture to go to the website.

Us State Universities API

API server that daily reads Wikipedia page: "https://en.wikipedia.org/wiki/List_of_state_universities_in_the_United_States college", looks up college pages from the list on the page, parses college info into hashes and saves in DB, updates existing and adds new ones. It contains around 650 state colleges. User can query colleges by their name or any additional details. The server is built with Ruby on Rails and PostgreSQL DB with TDD pattern. In current stage database contains one Schools table with 'title:string' and 'details:jsonb' rows. Postgres Jsonb datatype allows the server to update DB with new schools with any possible new attributes and their values without migrations.

Source code.