Petr Rusanov, Developer in Amsterdam, Netherlands
Petr is available for hire
Hire Petr

Petr Rusanov

Verified Expert  in Engineering

Software Developer

Location
Amsterdam, Netherlands
Toptal Member Since
October 19, 2015

Petr is a full-stack engineer with a 17-year record of optimizing code, costs, and user experiences. He excels in crafting secure, readable, and reliable code for cloud-native services. He is proficient in Go, Node.js, PostgreSQL, MongoDB, Bigtable, GCP/AWS/Azure, React/Vue, Kubernetes, ArgoCD, Docker, and Terraform. Petr focuses on delivering exceptional user experiences and optimizing large-scale applications for peak performance and cost efficiency.

Portfolio

MealSnap (pet project)
GitLab, Load Balancers, Amazon S3 (AWS S3), Docker, MongoDB, Go
MealSnap
Transitions, Controls, Intercom, Sentry, SQLite, Metal, Swift 4
dott
TypeScript, Cloud Firestore, Google Cloud, Go, Envoy Proxy, Node.js, Terraform...

Experience

Availability

Part-time

Preferred Environment

Slack, Git, GoLand, MacOS, WebStorm, Figma, iTerm2

The most amazing...

...project I've led was a redesign of a high-load telemetry processing service, slashing $100,000+ in annual cloud costs.

Work Experience

Back-end Developer

2018 - PRESENT
MealSnap (pet project)
  • Created a back-end for a food diary iOS app, which supports REST operations for diary entries, user management, and photo uploads to S3.
  • Wrapped everything to Docker containers with a meta-linter check for each build.
  • Set up DigitalOcean infrastructure with droplets, spaces, and a load balancer.
  • Configured cron jobs for hourly MongoDB dumps to attached block storage.
  • Set up automated deployment from GitLab with several environments.
Technologies: GitLab, Load Balancers, Amazon S3 (AWS S3), Docker, MongoDB, Go

iOS Developer

2018 - PRESENT
MealSnap
  • Created a food diary app from scratch by using design sketches.
  • Implemented authorization with iCloud Keychain, allowing to fully automate login processes with no need for any credentials from the user.
  • Applied custom, easy to use, thread-safe, and high-speed document disk storage based on SQLite with JSON1 extension.
  • Created a lot of custom controls like sliders and weight scale, which mimics real-world scale.
  • Implemented a simple and easily embeddable photo picker from the gallery.
Technologies: Transitions, Controls, Intercom, Sentry, SQLite, Metal, Swift 4

Senior Software Engineer

2021 - 2022
dott
  • Replaced third-party service for SMS phone number verification with an in-house solution built with Go to slash the costs by 90% and increase deliverability by 15% while also providing higher availability and 2x less latency.
  • Created identity and access management service, a key element in the infrastructure to enable service-to-service authentication and complex authorization policies for employees and users.
  • Set up monitoring, alerting rules, and dashboards, which resulted in greater visibility on how services are performing and reduced time to identify and fix production issues.
  • Migrated most of Dott's infrastructure in Google Cloud to Terraform configuration for better accountability of resources and to reduce the risk of human error during infrastructure changes.
Technologies: TypeScript, Cloud Firestore, Google Cloud, Go, Envoy Proxy, Node.js, Terraform, GitHub Actions, Google Cloud Platform (GCP), Docker

Senior Back-end Developer

2019 - 2021
Verifone
  • Developed a fraud detection service in Go using MongoDB, which is used to analyze and decide for every transaction coming through the payment gateway.
  • Solved many performance issues in payment transaction APIs, leading to a 4–5x performance increase in some places.
  • Optimized complex MongoDB aggregation queries and composed multiple queries in a single pipeline for better performance and less context switching.
Technologies: Apache JMeter, MongoDB, GoLand, Go, TypeScript, Node.js

iOS Developer

2018 - 2019
GunpowderLabs (via Toptal)
  • Developed an app for iOS 10-11 in Swift for residents of luxury apartments in NYC with lots of services like bike and car valet, delivery notifications, shuttle live map, and support chat.
  • Created a set of standard-styled components and a color palette to make changes to style easier.
  • Implemented a fully customized navigation bar with a custom blur effect and show and hide logic for the table and scroll views.
Technologies: Intercom, PDF, MapKit, Eureka, iOS 11, Swift

Freelance iOS and Back-end Developer

2016 - 2017
Sysdyne (via Toptal)
  • Architected a paperless ticketing system iOS app on the iSTRADA.net platform for concrete truck drivers.
  • Created and supported a REST API for the iOS app and web front-end using Node.js and MongoDB Atlas cloud with real-time updates via web sockets and MQTT protocol.
  • Developed and deployed an asynchronous electronic PDF ticket generation service.
Technologies: Amazon Web Services (AWS), MongoDB, Node.js, Swift

Co-owner and CTO

2014 - 2017
MUST Lab
  • Developed a TV streaming app for iPhone and iPad from scratch for iOS 6-8 with in-app purchases, banners, and pre-roll video ads.
  • Designed architecture and developed a smart home app for iPhones with iOS 7-8. Used binary protocol with Google Protobuf, async sockets, OAuth, SSO Twitter, and Facebook, and custom controls. All UI is done using storyboards with size classes.
  • Developed an app for controlling smart air conditioners that can change temperature and modes and display current temp and humidity.
  • Developed an app for communicating with a smart wall clock via BLE.
  • Developed a simple food diary app that helps log meals and calories using Parse.com as a back-end.
  • Created a reviews module for a top-rated car-selling app in Russia.
Technologies: Swift, Protobuf, VLCKit, Parse, AFNetworking, Media Players

Software Engineer

2013 - 2014
Freelance Client
  • Developed an eCommerce app for purchasing goods from nearby shops with 30-minute delivery.
  • Integrated the delivery agent interface into the client app using Parse's Roles feature.
  • Developed a back-end using Parse.com Cloud Code for the eCommerce app with a lot of custom JavaScript code for managing order states and promo codes, estimating delivery time using Google Maps, and communicating with Braintree payments gateway.
  • Updated the eCommerce app to facilitate use as a template that can be branded for any eCommerce company.
  • Supported a travel app to adapt it for iOS 7 and resolve UI/UX issues.
Technologies: Parse, BrainTree, iOS, Python, JavaScript

Team Lead

2011 - 2014
LinguaLeo
  • Developed an app for learning English in the context of real-world content with UGC dictionary, which is usually in the top 10 in Education for the App Store in Russia.
  • Created pixel-perfect layouts for each screen with frequent design reviews.
  • Learned a lot about Core Data and how to optimize it for the best performance and concurrency.
  • Led a distributed Agile team from several Russian cities, Ukraine, and the Netherlands, using Scrum methodology with one-week sprints and regular retrospectives for process tuning.
  • Implemented in-app payments using Core Data storage for transactions with server-side receipt validation.
  • Developed an all-new iPad app with UI, redesigned from scratch.
  • Launched public beta-testing of the iPad app for 150 testers using TestFlight for distribution, remote logging, and crash reporting.
Technologies: Objection.js, Core Graphics, StoreKit, Objective-C, GCD, Core Data, iOS

Senior Software Engineer

2010 - 2012
XenZu Technologies
  • Developed a Symbian complex location-­aware search app using the Nokia Qt SDK platform, including Qt widgets + QtQuick technology, maps and navigation API, Bearer API, and location API.
  • Developed an iPhone, iPad, and iPod app and a­ client for a cloud-based file synchronization service that includes Objective-­C + ANSI C mixed code, SQLite, networking, threading, and assets library.
  • Created an iOS client for a social media player with lyrics. Used extensive RestKit usage for communications with REST API on the server.
  • Built an iOS cab-hailing service client similar to Uber. Used RestKit and MapKit extensively.
  • Created an augmented reality prototype using OpenGL to show nearby POIs using mobile device sensors for positioning.
Technologies: Qt Quick, Qt, Symbian, C++

Software Engineer

2009 - 2010
BellSoft
  • Created a secure personal data storage application for Symbian S60 with backup/restore feature and Bluetooth synchronization with other phones.
  • Ported secure personal data storage application for PC and Mac using Qt with skinnable interface and ability to sync with the mobile app.
  • Developed the algorithm for protecting personal data with combination of AES, RSA, CRC.
  • Created a secure cross-platform backup file format for mobile and PC/Mac secure storage apps.
  • Implemented a JSON RPC API for the desktop secure storage app, which was intended to be used by browser extensions.
Technologies: Symbian, Subversion (SVN), C++, Qt

Software Engineer

2007 - 2009
Symphony-Teleca
  • Developed Symbian mobile device firmware apps, including home screen, text input improvements, and new telephony features.
  • Integrated the T9 text input engine into Windows Mobile 6 devices, settings applications, and finger-friendly UIs.
  • Developed software documentation, including HL/LL design, requirements, and UI specs.
  • Created a wallpaper editing tool that allowed the user to pan, rotate, and crop an image for a Symbian UIQ mobile device.
  • Implemented some Asian languages for the iTAP input system with auto-suggestions and auto-corrections.
Technologies: Symbian, C++

FlyWheel

A cab hailing app like Uber.

Tea Shop App

This is based on my own eCommerce app template.

LinguaLeo

Very popular English-learning app in Russia, almost a permanent leader in the Education category. Featured several times as a best education app by the App Store team.

InHome

A smart home automation app which works directly with a hub and a cloud, uses Google Protobuf as data exchange format, and has a lot of custom UI controls for changing brightness of bulbs, colors of RGB LED, etc.

iSTRADA.net

https://istrada.net
iStrada.net is a paperless ticketing system for concrete suppliers and their clients. It allows to record e-ticket statues and show concrete trucks on the map in realtime. I've built a backend with REST API and companion iOS app to provide easy access to tickets and allow users to track deliveries, place orders and pay bills.

Languages

Go, C++, JavaScript, Swift, SQL, Objective-C, Swift 4, TypeScript, C, C#, Assembler, Prolog, Python

Frameworks

Core Bluetooth, Cocoa Touch, Rx, AFNetworking, StoreKit, UIKit, Core Data, RestKit, Express.js, XCTest, SwiftUI, Qt, Qt Quick, Media Players, MapKit, Metal, ASP.NET

Libraries/APIs

RxSwift, Node.js, CocoaPods, Parse SDK, Core Animation, Fabric, Alamofire, React, Protobuf, Core Graphics, Objection.js, Stripe API

Tools

Amazon Elastic Container Service (Amazon ECS), MongoDB Atlas, Git, Xcode, Fastlane, AWS IAM, NGINX, AWS SDK, Amazon Simple Notification Service (Amazon SNS), GitLab CI/CD, GoLand, Apple HomeKit, Sketch, Slack, Subversion (SVN), Eureka, Sentry, GitLab, Apache JMeter, WebStorm, Envoy Proxy, MQTT, Figma, Terraform

Paradigms

Functional Reactive Programming, Model View ViewModel (MVVM), Agile Software Development, Kanban, Dependency Injection, Unit Testing, Continuous Integration (CI), Continuous Delivery (CD)

Platforms

iOS 11, iOS, Bluetooth LE, Docker, Linux, Visual Studio Code (VS Code), Google Cloud Platform (GCP), Firebase, Amazon EC2, AWS IoT, Heroku, MacOS, Parse, Symbian, Amazon Web Services (AWS), Blockchain

Storage

MongoDB, Relational Databases, PostgreSQL, Databases, SQLite, Amazon S3 (AWS S3), Cloud Firestore, Google Cloud, MySQL, MSSQLCE

Other

Freelancing, GCD, Back-end Development, Architecture, System Design, Back-end, Google Cloud Functions, CI/CD Pipelines, System Architecture Design, DocumentDB, Pulumi, BrainTree, VLCKit, PDF, Intercom, Controls, Transitions, Load Balancers, iTerm2, GitHub Actions

2004 - 2010

Specialist Degree in Computer Science

Nizhniy Novgorod State Technical University Institute of Radioelectronics and IT - Nizhniy Novgorod

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