Dmitry Borody, Developer in Vancouver, Canada
Dmitry is available for hire
Hire Dmitry

Dmitry Borody

Verified Expert  in Engineering

Full-stack Developer

Location
Vancouver, Canada
Toptal Member Since
March 30, 2017

Dmitry is a versatile, full-stack developer with solid skills in the modern web (React and Node.js), Python, Linux, and an excellent algorithmic mind. He enjoys developing the front and back-ends and dealing with databases, deployments, and automatization. While working on a project, Dmitry communicates clearly and always strives for a deep understanding of his client's needs to efficiently address their problems.

Portfolio

Inkarnate
Ruby on Rails (RoR), Ruby, HTML5 Canvas, Redux-Saga, TypeScript, React
Random Variations (via Toptal)
Audio, Material UI, Real-time Audio Processing, Web Audio API, MobX, React...
Cardero-X (via Toptal)
Semantic UI, Webpack, Node.js, MongoDB, Redux, React

Experience

Availability

Part-time

Preferred Environment

Terminal, Visual Studio Code (VS Code), Git, OS X

The most amazing...

...thing I've built is an online graphical editor for D&D fantasy maps with more than 300,000 active monthly users.

Work Experience

Senior Full-stack Web Developer

2019 - PRESENT
Inkarnate
  • Designed the architecture and implemented the new React rewrite of the legacy app.
  • Updated the legacy Angular app by adding new features and fixing bugs.
  • Actively participated in team discussions; giving feedback and sharing my ideas about the product.
Technologies: Ruby on Rails (RoR), Ruby, HTML5 Canvas, Redux-Saga, TypeScript, React

Principal Full-stack Web Developer

2018 - 2018
Random Variations (via Toptal)
  • Implemented a complete MVP of a real-time music app, from scratch.
  • Worked as the only tech person on the team, frequently communicated with my non-tech clients to make sure the end result matched their needs and vision.
Technologies: Audio, Material UI, Real-time Audio Processing, Web Audio API, MobX, React, Firebase

Freelance Full-stack Web Developer

2017 - 2017
Cardero-X (via Toptal)
  • Designed and implemented parts of the REST API.
  • Implemented an admin app to enable the CRUD of domain-specific data.
  • Added support for different user roles and different access levels inside the admin app.
Technologies: Semantic UI, Webpack, Node.js, MongoDB, Redux, React

Freelance Full-stack Web Developer

2017 - 2017
Audantic (via Toptal)
  • Implemented a reusable production-quality skeleton for building Flask APIs including authentication with API keys, filtering, pagination, validation, Swagger docs, and more.
  • Implemented a heat map visualization of property prices with Google Maps.
  • Designed and implemented a product page with embedded Looker data dashboards.
  • Measured and optimized the performance of certain API calls—optimizing the database query performance.
  • Consulted with my client regarding the technology choices for the web and API.
Technologies: MySQL, Flask, Python, React, Single-page Applications (SPA)

Freelance Full-stack Web Developer

2017 - 2017
Reporter Suite (via Toptal)
  • Conducted a complete rewrite of a legacy AngularJS app to modern React stack resulting in a much more fast, robust, user-friendly, and maintainable web app.
  • Set up the infrastructure, deployment processes, and monitoring for the updated application on an AWS cloud platform; integrated user analytics and client-side error tracking.
  • Migrated old users and data to the new app, ensuring a smooth transition for the existing customers.
  • Implemented many new features while working closely with the project owner, such as Stripe payments processing, a notifications functionality, invoice PDF generation, data export, admin UI, and many others.
Technologies: Amazon Web Services (AWS), Ansible, Docker, Stripe, Node.js, Webpack, Redux, React, ECMAScript (ES6)

Student Mentor (HTML, CSS, JavaScript)

2017 - 2017
HTML Academy (Online Front-end Courses)
  • Developed one of the best online education projects on front-end technologies in Russian.
  • Mentored more than ten students: reviewing code, conducting Q&A Skype calls, giving advice on how to write better JavaScript, HTML5, and CSS3 code, and following best practices such as BEM or progressive enhancement.
Technologies: Progressive Enhancement, BEM, Less, Webpack, ECMAScript (ES6), JavaScript, CSS3, HTML5

Freelance Full-stack Web Developer

2017 - 2017
Baleen Labs (via Toptal)
  • Developed a proof-of-concept SPA: visual block editor for code and business logic, akin to Microsoft micro:bit.
  • Adapted a drag-n-drop library Dragula to play well with React.
  • Implemented a markup after being provided Sketch designs for Baleen.io (a promo page for the company and their product).
  • Developed another demo SPA that heavily used Google Maps API.
  • Adapted an existing API for this second demo to be more RESTful-like, and integrated this API with the front-end.
  • Took care of the dockerization and deployment of the developed apps to EC2 and documented the process of the deployment.
Technologies: Amazon Web Services (AWS), Docker, Amazon EC2, Flask, Python, Webpack, ECMAScript (ES6), Vue, Redux, React

Full-stack Web Developer

2016 - 2017
Smarkets
  • Optimized the app load time and client-side performance using such techniques like above-the-fold rendering, code splitting, caching of server-side rendered React components, and more.
  • Consolidated localization messages between the web and mobile app—implemented tooling for intracompany collaborative crowd-sourced localization.
  • Worked closely with UX designers to optimize the web-app for desktop experience—implemented responsive desktop layout, improved keyboard navigation, and more.
  • Implemented and integrated with our Jenkins CI end-to-end Selenium tests running on the BrowserStack cloud platform on different browsers and different types of OS.
  • Created tools for stress-testing and performance reports (max requests per second, CPU/memory utilization, and more) of the server-side rendering server.
  • Participated in technical interviews for candidates for the generalist software engineer position.
  • Ported a number of critical features from the older monolithic website.
Technologies: Amazon Web Services (AWS), Linux, Docker, Flask, Python, Express.js, Node.js, Webpack, ECMAScript (ES6), React Native, GraphQL, Redux, React

Software Engineer

2015 - 2016
AIM Tech Algotrading
  • Developed a scalable cluster system for easier scheduling of simulations of trading strategies on historical data to boost the productivity of our quantitative analysts.
  • Designed and implemented the web front-end for this system so that that the quantitative analysts can launch their simulations, compare the performance of different approaches, visualize the results, and export data for further analysis.
  • Adapted the same back-end and developed a new front-end for a student contest of HFT (high-frequency trading) strategies. This lasted two months and attracted ~1,000 participants, mainly Russian math/computer science students which allowed the company to created simulations of its pool of quantitative analyst candidates.
  • Set up the infrastructure for the logging and monitoring of the system using open source technologies such as Prometheus, Grafana, and Graylog for the better visibility, user analytics, performance monitoring, and debugging ease.
  • Implemented a number of high-performant data parsers for different trading data formats (FIX, FAST, and more).
  • Participated in the technical interviews involving our team by designing interview questions and test projects for the candidates.
Technologies: Amazon Web Services (AWS), Prometheus, Graylog, Docker, Ansible, MongoDB, PostgreSQL, RabbitMQ, Redis, Django, Flask, Python, Webpack, React, ECMAScript (ES6)

R&D Software Simulation Intern

2013 - 2014
Intel
  • Developed a performance simulator for a new, experimental computer architecture in a small team of researchers.
  • Investigated the impact of several architectural features on the performance of the modeled architecture, implemented these features in the simulator, and presented the report at the end of the internship.
  • Learned a great deal about low-level programming, compilers, computer architecture, and code optimizations.
Technologies: Bash, Makefile, CMake, C++, C, Linux

Freelance Software Enginneer

2012 - 2014
Freelance Work
  • Developed a cross-platform desktop application for testing and developing electronic devices working with ARINC429 protocol (a protocol used in avionics). I worked on it together with another engineer, doing both low-level and UI programming as well as handling the communication with the client and presenting the product. Technology stack: C, C++, Qt4, serial ports.
  • Prototyped various algorithms for discrete optimization (route-planning, TSP) and classification problems. Technology stack: Python, Cython, Numpy, SciPy.
  • Supported and improved five different web apps for small-to-medium enterprises.
  • Refactored legacy code, reduced technical debt and added new features; all the while working in a small distributed team. Technology stack: Java EE, GWT, PHP, JavaScript, MySQL, WordPress, and phpBB.
Technologies: Apache Tomcat, GWT, Java EE, Apache, MySQL, PHP, JavaScript, Qt 4, C++, C, SciPy, NumPy, Cython, Python

Wordcloudy – Word Art Generator

An online tool to quickly generate beautiful and unique word art designs. Users can choose shape, words, fonts, colors, and layout and the app will fill the shape to create an aesthetically pleasing design. The results can be exported as high-quality images or as SVG for later printing for posters, canvases, or merchandise.

It's my hobby indie project and I'm the creator and the only developer.

Technologies: Rust, Web Assembly, TypeScript, React, NestJS, TypeORM, PostgreSQL

MyGuitarTuner – Online Microphone Tuner

This is a personal project of mine that involves an online microphone tuner for guitar and other instruments. It's likely the fastest and most accurate online microphone tuner out there. It is internationalized in English and Russian.

Technologies: Web Audio, Gatsby, React, TypeScript, Rust, Web Assembly, HTML Canvas

Random Variations (MVP) | Practice Tool for Music Students (Music Drill Generator)

The app helps music students (mainly jazz students) to practice better by automatically generating challenging practice drills. It also can help music teachers to create drills for their students.

Users can create sharable practice sessions, tweak session parameters to fit their needs (e.g., by adding chords, scales, random note sequences, etc.), play the exercises back, export them as MIDI, and more.

Technologies: Firebase, React, MobX, Web Audio API, VexFlow

Reporter Suite App (via Toptal) | Single-page Application (SPA) and Back End

https://www.reportersuite.com/
About the Reporter Suite app:
This is the app of choice for US court reporters and it greatly simplifies their day-to-day routines.

Some Features:
• Invoice management system with built-in payment. processing time, expenses, case log tracking, and more
• Generating official reports based on the tracked data.
• Public shareable profile pages for court reporters with contact and order forms.
• Social features.

My Role:
My client asked me to do a complete rewrite of the AngularJS legacy app running on the Stamplay platform to something more modern, maintainable, and scalable and also to expand the app functionality based on the feedback from users of the old version.

Work Highlights:
• Set up the AWS infrastructure, the staging environment, monitoring, user analytics dashboards, and error tracking; conducted load-testing.
• Added Stripe payments processing.
• Enabled authentication with Google accounts
• Added new user roles and user interactions: e.g., users receive notifications of incoming invoices that other users create for them, etc.
• Added an admin UI to simplify app maintenance.

Technologies: AWS, Docker, React, Redux, PostgreSQL, Node.js, Hapi, Sequelize, Metabase, TrackJS, Stripe, Redis

Smarkets Web App

The new mobile-first real-time web app for Smarkets, a London-based prediction market (aka betting) exchange.
Being a part of a very tight team with daily standup meetings and frequent cross-team communication, there was a lot of responsibility on my shoulders and I contributed a great deal to the app's functionality and performance.

The project itself is meant to replace the older monolithic legacy website. It now has a much more maintainable code base (some parts of which are shared with our React Native mobile app), a top-notch technology stack, and is built upon the best practices for modern high-performant mobile sites.

HFT Battle | Trading Strategies Contest Platform

This project is an online contest platform for high-frequency trading strategies, simulated on real historical data. The idea is to popularize (especially among students) the traditionally secretive field of HFT (high-frequency trading) to spot and attract talent to join the company's quantitative analyst pool.

Participants can implement their trading strategies in either C++ or Python, and then run it either locally with a provided SDK (for debugging) or use the web-interface to schedule their simulations to be run on a cluster infrastructure. After the simulation is finished, they can see charts visualizing the trading behavior of their algorithms, test and compare different approaches, and export the data for further analysis.

I started working on this project on my own (including the initial prototype and the refined microservice architecture), and after several months, two people joined in and we've been working together on it since then. I designed the back-end architecture (a pool of simulation nodes, microservices, a storage layer, and message queues between them), developed the API and the web-interface for participants (Django/Flask, JavaScript), and took care of the infrastructure, CI, and automation.

Visual Code Block Editor (via Toptal)

A demo SPA (front-end only) which is a drag-n-drop visual editor for back-end logic, similar to micro:bit from Microsoft. Users could use visual blocks, rearrange (with possible nesting), and configure them so that they express required business logic.

I've implemented only the front-end part of the project with the back-end being mocked for the demo purposes.

Technologies: React, Redux, Vanilla JavaScript, ES6, Webpack, AWS, Docker

Decision Trees Machine Learning Library

https://github.com/dmitru/pines
A library that implements CART decision trees as well as lesser-known Oblivious Decision Trees for classification and regression problems; it's fully compatible with the popular ML package Scikit-learn.

This project is the result of my interest in machine learning—implementing decision trees from scratch allowed me to deeply understand the concept.

Time Tracker | Full-stack Toptal Test Project (SPA and API)

A two-week test project done as a part of the Toptal onboarding process.

This is a multi-user time tracker SPA. I've implemented both the front- and back-end following the project requirements and working on it during the evenings and the weekends.

Test credentials:
login: user@test.com
password: password

Technologies: React, Redux, MongoDB, Sequelize, Heroku

Personal Expenses Tracker (Web SPA, API and Chatbot)

A web app and a chatbot for tracking income/expenses, suitable for personal use or for collaboration in small groups (e.g., families, or a joint holiday trip with friends). It creates the visualization of your spending habits and allows the importation and exportation of data for further analysis.

Technologies: Node.js, LoopBack.io, ES6, Webpack, React, Redux, HTML5, Sass, Python 3, PyMongo, MongoDB, AWS, Docker, Linux, Bash Script

Blog Post: Theming Apps in Sass

https://medium.com/@dmitriy.borodiy/easy-color-theming-with-scss-bc38fd5734d1
A post explaining the approach that I took while working for Smarkets in supporting the different color themes in their web application.

Languages

TypeScript, Python, ECMAScript (ES6), HTML5, CSS3, JavaScript, GraphQL, SQL, CoffeeScript, Sass, Bash Script, Bash, C++, C, Less, Ruby, PHP, R, Scheme, Processing, C#, Google Apps Script, Java, Lisp

Frameworks

NestJS, Next.js, Bootstrap, Express.js, Redux, Material UI, StrongLoop, Angular, Loopback, Jest, Twisted, React Native, Flask, Hapi.js, GWT, Ruby on Rails (RoR), Boost, OAuth 2, JSON Web Tokens (JWT), JUnit, Selenium, Qt, Django

Libraries/APIs

React, REST APIs, Firebase Web SDK, NgRx, Node.js, Immutable.js, Pthreads, Web Audio API, Sockets, Pandas, D3.js, Highcharts, NumPy, jQuery, Stripe API, Web Audio, Google Maps API, MobX, HTML5 Canvas, SciPy, Stripe, Redux-Saga, MPI, RxJS, Vue, OpenMP, VK API, Three.js, Telegram Messenger API, Scikit-learn, Ramda

Tools

Balsamiq Mockups, Sequelize, Mongoose, Canvas 2D, Sketch, Mocha, Tmux, RabbitMQ, LaTeX, NPM, Graphviz, Slack, Bitbucket, GitHub, Jenkins, Jupyter, Graylog, Webpack 2, NGINX, Adobe Lightroom, Ansible, Git, Makefile, Subversion (SVN), Terminal, Webpack, Apache Tomcat, Sketch 2, Docker Compose, Valgrind, Karma, Cron, Travis CI, BrowserStack, Stash, Grafana, Vim Text Editor, Vagrant, Flex/Bison, GDB, Asana, Gulp, Jira, GitLab, Grunt, Pivotal Tracker, Celery, Apache, Adobe Photoshop, CMake

Paradigms

REST, Unit Testing, Distributed Computing, Reactive Programming, Parallel Computing, Stress Testing, Asynchronous Programming, Microservices Architecture, Responsive Layout, Web Application Architecture, Responsive, Continuous Integration (CI), Rapid Prototyping, Prototype-based OOP, Functional Programming, Object-oriented Design (OOD), BEM, Test-driven Development (TDD), UX Design, Progressive Enhancement, Continuous Delivery (CD), Compiler Design

Storage

Relational Databases, MongoDB, Redis, MySQL, PostgreSQL, Databases, Microsoft SQL Server, Memcached, Oracle PL/SQL, Oracle SQL

Other

Semantic UI, Single-page Applications (SPA), Software Development, Wireframing, Code Splitting, Apollo, Algorithms, Website Performance, ESLint, Responsive UI, Data Structures, Rendering Performance, Source Code Review, Debugging, Server-side Rendering (SSR), Networks, Client-server Model, TypeORM, Cython, Qt 4, Real-time Audio Processing, Audio, Chatbots, Distributed Systems, Web App Security, Scraping, Prometheus, Data Analysis, SVG, Data Visualization, GitFlow, Mailchimp API

Platforms

Firebase, Amazon Web Services (AWS), Amazon EC2, Docker, MacOS, Linux, OS X, Java EE, OpenCart, NVIDIA CUDA, New Relic, Arduino, Heroku, Windows, Visual Studio Code (VS Code)

2011 - 2015

Bachelor's Degree in Computer Science and Applied Mathematics

Moscow Institute of Physics and Technology - Moscow, Russia

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