Portfolio

Some projects that I developed are listed below.

H5 property order processing system

Period: 2017-05-01 — 2017-10-31

I was hired by Fjord Software as Senior Ruby on Rails Developer to help develop order processing system for one of Norwegian leading Real Estate marketing solutions provider — H5 Property.

My biggest challenge at the beginning was to understand old code because I couldn't get a hold of previous developer. Luckily I could easily get information about business needs and how they developed.

Knowing how business needs developed helped a lot, but there was huge amount of fragile code that I had to modify.

Here's what I managed to do within just 6 months:

  • Migrated authorization from CanCanCan gem to Pundit gem which further increased development speed and reduced chance of unexpectedly breaking some permissions. This change also simplified authorization code auditing if required.
  • Implemented billing system.
  • Created integration with Quickbooks.
  • Created Tripletexer rubygem integration with Tripletex.
  • Convicted business to move data from Amazon EBS to S3 to cut operation costs by more than 50%.
  • Implemented code that allowed migrating over 3TB of files from server to Amazon S3, without system/client interruption.
  • Created foundation for API v2 which had fine gradient permissions control.
  • Implemented audit log. I also figured out pretty smart way how to create order event timeline based on audit log, however I didn't implement it because I left the company.
  • Adopted some trailblazer patterns (Cells, form objects, operations etc.)
  • Implemented image recognition using Google Vision API.
  • Improved system performance in various critical services.
  • and much more

Technologies:

  • Ruby on Rails
  • Mysql
  • SASS (SCSS)
  • git
  • sidekiq
  • jQuery
  • ImageMagick
  • Trailblazer
  • Pundit
  • grape
  • swagger

CakeHR - Human Resources Management

Period: 2016-01-17 — 2017-04-17

I joined CakeHR project as Lead Developer to help develop new features, refactor old code, review new code, fix issues and improve overall code quality.

Most challenging aspect of this project was refactoring code to improve code quality and maintainability.

Some of most interesting things I did:

  • Entirely refactored and standardized frontend
  • Developed performance module (employee reviews, goals, development plans, review generation etc.)
  • Developed company org-chart display and hierarchy management
  • Developed object change log for auditing purposes
  • Refactored a lot of backend code

Technologies:

  • Ruby on Rails
  • ActiveAdmin
  • PostgreSQL
  • MongoDB
  • SASS (SCSS)
  • git
  • sidekiq
  • MaterializeCSS
  • jQuery
  • d3.js

Mogo Internal Accounting System

Period: 2013-04-25 — 2015-08-31

The most complex project I've worked on - MOGO financial system.

During this project I've been participating in development of almost all modules since the beginning of the project.

Some of modules that I've been working on are:

  • Fine calculations
  • Document generations
  • Permissions (possible to even disable certain field editing for user groups)
  • Agreement and subagreement logic
  • Very complex reports (with perspective data)
  • Integration of various undocumented 3rd party services

Challenges:

  • Performance
  • Missing or extra cents hunting in complex algorithms
  • Customisation
  • Code complexity and size
  • Overall project length
  • Gray hair

Technologies:

  • Releaf CMS
  • Ruby on Rails
  • Rspec
  • SASS
  • jQuery
  • MySQL
  • Redis
  • MongoDB
  • HAML
  • SOAP
  • REST API

Releaf Content Management System

Period: 2012-10-01 — presently

Technically the most interesting project - Ruby on Rails content management system (CMS)

Technologies:

  • MySQL
  • PostgreSQL
  • Ruby On Rails
  • Rspec
  • HAML
  • SCSS (SASS)
  • JQuery
  • git

Releaf is fully open sourced project (licensed under BSD license).

Latio Homepage

Period: 2014-01-29 — 2014-07-11

Technologies:

  • Releaf CMS
  • Ruby on Rails
  • Rspec
  • MySQL
  • HAML
  • CSS
  • jquery
  • git

An interesting aspect of this project was that it was literally build on top of the old CMS.

Due to constantly changing content we had to implement heavy caching mechanisms.

DNB Internet Bank Frontend

Period: 2012-06-07 — 2013-04-23

Technologies:

  • Leaf CMS
  • php
  • Smarty
  • CSS
  • jQuery
  • git

Latvian American Express and Membership Rewards

Period: 2013-02-11 — 2015-08-20

During development of this project, I was responsible for back-end development and Releaf CMS development.

Key challenges were:

  • Development of Releaf CMS on top of Ruby on Rails
  • Integrating poorly designed 3rd party services
  • Complying with security requirements of Citadele Bank

After project was finished, I kept maintaining it until I left Cube Systems team at the end of August 2015.

Technologies:

  • Releaf CMS
  • Ruby On Rails
  • MySQL
  • Rspec
  • HAML
  • CSS
  • javascript/jQuery
  • SOAP services
  • various 3rd party services
  • git

elbook - DNB Bank Intranet

Period: 2011-09-27 — 2013-02-14

My first project at Cube Systems was internal document management system for DNB bank.

We created new systems from ground up and created script to import thousands of old documents in a way that merged localised documents and preserved old structure.

In addition, we implemented complex hierarchical permission mechanisms (per group, per user).

However the most complex feature was document preview. We created service that converted documents to normalised HTML format and provided preview and automatic related document linking features.

Features:

  • Document preview
  • Automatic related document linking
  • Document tree
  • Document versioning
  • Complex file access permissions

Technologies:

  • Ruby on Rails
  • OpenOffice
  • MySQL
  • HAML
  • CSS
  • git

AirBaltic Homepage Frontend

Period: 2012-11-27 — 2013-01-03

I was asked to help out with design slicing, since project was reaching deadline.

The greatest challenge in this project was the front page menu on which I had to spend quite a lot of hours to make it look and work as intended (The current AirBaltic homepage menu is much more simple than the one I originally developed).

Technologies used:

  • Ruby On Rails
  • SCSS
  • jQuery
  • SQLite
  • sh
  • git

zfSnap

Period: 2010-07-08 — 2014-03-01

I'm the original author of zfSnap - ZFS snapshot management script.

Originally this project started as discussion on FreeBSD forums and turned into proof of concept that you can write Bourne shell script to automate periodic ZFS snapshot creation and deletion and don't need another language installed on you server.

The script evolved quickly and gained a lot of popularity. Since around year 2014 I no longer maintain it, however anyone willing to contribute code is welcome to do so.