Vohid Karimov, Developer in Amsterdam, Netherlands
Vohid is available for hire
Hire Vohid

Vohid Karimov

Verified Expert  in Engineering

Software Developer

Location
Amsterdam, Netherlands
Toptal Member Since
April 2, 2020

Vohid is an Oracle Certified Java developer who has spent the last five years building web applications with Spring technologies. Despite being an expert in Java back-end development, he secretly excels at front-end technologies. He is particularly excited to work on data-intensive single-page apps using the Angular framework. Vohid loves the idea of competitive programming as a way to keep his problem-solving skills sharp.

Portfolio

OpenReel
Sequelize, Angular Material, Jest, Cypress, NestJS, Node.js, Electron...
KeyPlan Solution AB
FullCalendar, PouchDB, CouchDB, MySQL, Ionic 4, Angular, Yii 2, PHP, Spring...
Pro7
MySQL, AngularJS, Yii 2, PHP, Spring, Java

Experience

Availability

Part-time

Preferred Environment

MacOS, Visual Studio Code (VS Code), IntelliJ IDEA, Slack

The most amazing...

...product I've developed is a remote video creation tool called OpenReel that facilitates recording high-quality videos remotely and can scale as it does so!

Work Experience

Senior Full-stack Developer

2019 - 2020
OpenReel
  • Developed an app similar to Zoom and Google Meet in nature, but with great focus on recording high-quality videos remotely.
  • Worked in an Agile environment using Scrum and Jira to plan and execute user-stories and fix bugs.
  • Developed the initial prototype of the screen annotation feature using Electron and Three.js.
  • Wrote unit, integration, and E2E tests using Jest, Angular TestBed, Cypress, and Angular Material Component Harness.
  • Reviewed pull requests to maintain the code quality and wrote documentation files to make team onboarding fast and efficient.
  • Wrote RESTful endpoints on our back end following Nest.js concepts and best practices.
  • Laid out Sequelize data models to map our database and wrote migration files to maintain our database schema.
Technologies: Sequelize, Angular Material, Jest, Cypress, NestJS, Node.js, Electron, JavaScript, TypeScript, Angular

Senior Full-stack Developer

2017 - 2020
KeyPlan Solution AB
  • Built a visit scheduler module using Angular 8 and Ionic 4 with support for interactive drag/drop scheduling of visits.
  • Designed CouchDB databases for an offline-first mobile application built on the Ionic framework.
  • Optimized the whole CRM system by archiving old data which decreased load times for heavy reports up to eight times.
  • Developed a shopping cart module using Angular 8 and Ionic 4 with the ability to create and share sales proposals.
  • Helped integrate the TensorFlow Object Detection API to automate the company’s article distribution system.
  • Created a synchronization module between MySQL and CouchDB.
  • Designed and implemented a form builder widget using AngularJS with support for over ten question types ranging from simple text questions to image upload to signature questions. Respondents could leave their signature by drawing on a signature pad.
Technologies: FullCalendar, PouchDB, CouchDB, MySQL, Ionic 4, Angular, Yii 2, PHP, Spring, Java

Full-stack Developer

2016 - 2016
Pro7
  • Designed MySQL database schema for an applicant tracking system (ATS) using normalization techniques.
  • Built candidate assessment and recommendation module using AngularJS and Yii2 to filter out incoming job applications.
  • Implemented peer-to-peer video interviews using WebRTC.
Technologies: MySQL, AngularJS, Yii 2, PHP, Spring, Java

Java Developer

2015 - 2015
Algoritm Consulting
  • Maintained the ERP system written in Java/Struts for clients whose business is in textile manufacturing.
  • Optimized SQL queries increasing performance three-fold.
  • Wrote unit and end-to-end tests that uncovered critical issues our team was able to fix on time.
Technologies: JUnit, PostgreSQL, Apache Struts, Java

Offline-first CRM solution

A complete rewrite of an existing AngularJS application intended to support Android and iOS on both smartphones and tablet devices. The app works offline with limited functionality.
The application is written in Angular 8 and Ionic 4. It uses CouchDB and PouchDB to store data.

Media Communication Channels App

It is an Instagram-like communication mobile app where retail salespeople share shelf photos and comment on each other's progress.

The app is written in Angular and Ionic Framework and heavily uses Camera and File Manager native APIs via Cordova.

CRM Planner

An event planner app based on the FullCalendar library to help retail salespeople organize their work schedule and to advance towards their quarterly milestones. The tool also allows sellers to track their daily car mileage.
The tool is written in AngularJS and communicates with a RESTful API to persist data.

CRM Analysis

An analytics tool for retail businesses to track their Key Performance Indicators (KPIs). This tool works as a module to a major CRM solution and pre-computes report data to ensure instant load times.
The module heavily uses Chart.js to visualize data through pie charts, line charts, and bar charts. Computation logic is written in PHP and run by cron jobs.

Automated Article Distribution System

The product our team developed had several parts to it; a machine learning model based on TensorFlow's object detection API, a data-feeding module responsible for curating quality images (faces), which the model consumed, and a client app that let users process shelf products using the device camera.
My role in the project was to develop the second module, to create a tool to crop product faces and feed them to the machine learning model to increase the prediction accuracy rate. Fabric.js was the right library to develop the cropping feature.

Two-way Syncronization between SQL and NoSQL

This is a lightweight but highly efficient service that is accessible via RESTful APIs to synchronize data between two different database systems - MySQL and CouchDB. The synchronization is triggered by cron jobs, but thanks to its light structure, it can easily be transformed into microservices.
The service is written in Java and Spring and connects to MySQL through Hibernate ORM.

Reactive Price Calculator

This tool is a part of an order management system. It helps users determine the right price and discounts for the products sold so they can achieve the desired profit margins.
The tool utilizes AngularJS's famous two-way data binding to achieve reactivity.

File Manager

A web-based file manager similar to Dropbox to upload and download files. The tool is based on AWS S3 Buckets and works as part of a major CRM solution.

The tool is built with AngularJS, PHP, Yii2, MySQL

Applicant Tracking System (ATS)

A proof-of-concept project for an ATS startup. The application has several sub-modules such as candidate pipelining, job boards, and a messaging module integrated with Gmail.
The back end was written in Java/Spring (uses MySQL) and the front end in AngularJS. Data is exchanged through RESTful APIs.

Languages

Java, JavaScript, HTML5, CSS3, PHP, TypeScript

Frameworks

Spring, AngularJS, Angular, Hibernate, Bootstrap, Ionic, Apache Struts, JUnit, Yii 2, Ionic 4, NestJS, Electron, Cypress, Jest, Angular Material

Tools

FullCalendar, Slack, IntelliJ IDEA, Sequelize

Storage

MySQL, CouchDB, PostgreSQL, PouchDB, MongoDB, Amazon S3 (AWS S3)

Libraries/APIs

RxJS, NgRx, Chart.js, Node.js

Paradigms

E2E Testing

Other

Cordova, IT

Platforms

Ubuntu, Windows, Visual Studio Code (VS Code), MacOS

2014 - 2018

Bachelor's Degee in Business Information Systems

Westminster International University in Tashkent - Tashkent, Uzbekistan

NOVEMBER 2015 - PRESENT

Oracle Certified Professional Java Programmer

Oracle Corporation

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring