Ivan Gavrilov, Developer in Nizhny Novgorod, Nizhny Novgorod Oblast, Russia
Ivan is available for hire
Hire Ivan

Ivan Gavrilov

Verified Expert  in Engineering

Software Developer

Nizhny Novgorod, Nizhny Novgorod Oblast, Russia
Toptal Member Since
February 11, 2016

Ivan is a professional full-stack web developer with more than 12 years of design experience in different areas. His primary focus is on creating secure APIs and modern web app solutions. He's ready to deliver high-quality, well-tested, and documented code. Ivan is an open and communicative person and prefers to work on big serious projects as the lead tech.


Granicus (via Toptal)
Amazon Web Services (AWS), Python 3, GraphQL, RQ, PostgreSQL, AWS Lambda...
RoomDots (via Toptal)
Amazon Web Services (AWS), SQLAlchemy, Celery, Django, Python
C#, JavaScript, PostgreSQL, Tastypie, Django, Python




Preferred Environment

Git, Vim Text Editor, MacOS

The most amazing...

...project I worked on is a back-end application for a POS system with more than 5,000 customers.

Work Experience

Back-end Software Engineer

2017 - 2022
Granicus (via Toptal)
  • Developed various back-end application components as a team member, including REST and GraphQL APIs.
  • Created microservice using Serverless Framework and AWS Lambda.
  • Prepared technical documentation and architected new components.
  • Integrated the product with third-party services such as Stripe, Twilio, Mailgun, and Lob.
Technologies: Amazon Web Services (AWS), Python 3, GraphQL, RQ, PostgreSQL, AWS Lambda, Stripe API, Flask, Twilio API, Asyncio

Full-stack Python Developer

2016 - 2017
RoomDots (via Toptal)
  • Created and supported user API using Django and DRF.
  • Created and supported high-load server-side application for collecting data from various data sources and monitoring the service.
  • Created integrations with third-party services.
Technologies: Amazon Web Services (AWS), SQLAlchemy, Celery, Django, Python

Senior Software Engineer | Mentor | Scrum Master

2012 - 2016
  • Supported and improved a cloud web-based back-end application for a POS system using Python and Django.
  • Created and supported REST API endpoints using Django and Tastypie.
  • Created a JavaScript object-editor base app and performed the implementations using Marionette.js.
  • Worked as a mentor for project newcomers.
  • Performed many technical interviews.
  • Created a distributed test-runner for the QA team.
  • Created a client app for an automated device testing system (including high-level design, low-level design and user manuals) using Python.
  • Implemented a PubNub integration.
Technologies: C#, JavaScript, PostgreSQL, Tastypie, Django, Python

Firmware Support Engineer

2010 - 2012
  • Created a warehouse monitoring system based on Python scripts and Nagios.
  • Supported firmware upload-over-wifi scripts.
  • Wrote some Bash scripts.
  • Developed a warehouse map generator.
  • Created unit tests.
Technologies: Bash, Python

Associate Software Engineer

2010 - 2010
  • Created a power-on/off application for the new BMP-based smartphone using C programming language.
  • Supported a status-bar application.
  • Supported the legacy devices code base.
  • Resolved a bunch of defects in the old device software using JTag.
  • Created internal scripts using Python.
Technologies: C

Cloud-based POS Application

As a back-end application team member, I was developing an API for one of the leading market players. It was included first on the list of Business News Daily's "Best iPad POS Systems." In 2013, it was chosen as the Best Retail App in the Business at the Tabby Awards.

Test Automation System

A fully automated test platform for hardware and firmware testing.

Technologies used: Python, C#, PubNub, and DevTest.

Time Management System

This project is aimed to track employees' work time in a big factory. I developed the server part which communicates with the JavaScript front-end and the Android app through a REST API.

Technologies used: Flask (Python web framework), MySQL, and Sphinx documentation.

Admin Web App for an iOS Delivery Platform

Web application for convenient data administration. The data is stored in Parse.com service. I also did some integration with BrainTree payment service. Created a small library for fast communicating with Parse.com with the ability to manage related objects by demand.

Technologies used: Python/Flask, BrainTree, and Bootstrap 3.

Salary Calculator

A friend of mine asked me to create a simple project for his degree in economics. This is a working application aimed to manage employees in an organization and calculate their salaries based on worked hours, vacation, absence and etc.

Technologies used: Python/Django, Bootstrap 3, and an XLSX export library.


Python, JavaScript, Bash, C, C#, Python 3, GraphQL


Flask, Django, Bootstrap 3


Tastypie, SQLAlchemy, Marionette.js, Underscore.js, Backbone.js, RQ, Stripe API, Twilio API, Asyncio, REST APIs


Vim Text Editor, Git, Mercurial, Celery


Test-driven Development (TDD), REST, Scrum, Agile Software Development, Model View Controller (MVC)


Linux, MacOS, Amazon Web Services (AWS), AWS Lambda


PostgreSQL, Redis