Petr Rusanov, Back-end Development Developer in Amsterdam, Netherlands
Petr Rusanov

Back-end Development Developer in Amsterdam, Netherlands

Member since October 19, 2015
Petr has more than thirteen years of mobile development experience, with ten of them in iOS and about five years in the back end with Node.js and Go. He has worked in Agile teams in small startups such as LinguaLeo and big companies such as Motorola. He's familiar with the latest back-end technologies such as Go, Docker, and MongoDB, and he develops fast and beautiful iOS apps using Swift and the latest Apple technologies, such as ARKit and CoreML.
Petr is now available for hire

Portfolio

  • dott
    TypeScript, Cloud Firestore, Google Cloud, Go, Envoy Proxy
  • MealSnap
    GitLab, Load Balancers, AWS S3, Docker, MongoDB, Go
  • MealSnap
    Transitions, Controls, Intercom, Sentry, SQLite, Metal, Swift 4

Experience

Location

Amsterdam, Netherlands

Availability

Part-time

Preferred Environment

Slack, Sketch, Git, Xcode, GoLand, MacOS, WebStorm

The most amazing...

...service I've built was a concrete truck management solution which was able to receive, process, and display location for thousands of trucks in near real time.

Employment

  • Senior Back-end Engineer

    2021 - PRESENT
    dott
    • Shipped in-house SMS verification solution with one-time passwords.
    • Layed out messages deliverability metrics on a dashboard.
    • Set up a proxy to translate JSON API requests to gRPC calls.
    Technologies: TypeScript, Cloud Firestore, Google Cloud, Go, Envoy Proxy
  • Back-end Developer

    2018 - PRESENT
    MealSnap
    • Created a back-end for 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, 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
  • iOS Developer

    2018 - PRESENT
    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, deliveries notifications, shuttle live map, and support chat.
    • Created a set of common styled components and a color palette to make changes to style easier.
    • Implemented a fully custom navigation bar with a custom blur effect and show and hide logic for the table and scroll views.
    Technologies: Intercom, PDFkit, MapKit, Eureka, iOS 11, Swift
  • 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
  • Freelance iOS and Back-end Developer

    2016 - 2017
    Sysdyne (via Toptal)
    • Created a paperless ticketing system iOS app on 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.
    Technologies: Amazon Web Services (AWS), AWS, MongoDB, Node.js, Swift
  • Co-owner and iOS Developer

    2014 - 2017
    MUST Lab
    • Developed a TV streaming app for iPhone and iPad from scratch for iOS 6-8 with in-app purchases, banner, and pre-roll video ads.
    • Designed architecture and developed a smart home app for iPhones with iOS 7-8 (binary protocol using Google Protobuf, async sockets, OAuth, SSO Twitter+Facebook, lots of custom controls; all UI is done using storyboards with size classes).
    • Developed an app for controlling smart air conditioners which can change temperature and modes as well as display current temp and humidity.
    • Developed an app for communicating with a smart wall clock via BLE.
    • Developed a simple food diary app which is helpful for logging meals and calories using Parse.com as a back-end.
    • Created a reviews module for the very popular car selling app in Russia.
    Technologies: Swift, Protobuf, VLCKit, Parse, AFNetworking, Media Player
  • iOS Developer

    2013 - 2014
    Independent
    • 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, promo codes, estimating delivery time using Google Maps, and communicating with Braintree payments gateway.
    • Updated the eCommerce app to facilitate use as a template which 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
  • iOS Team Lead

    2011 - 2014
    LinguaLeo
    • Developed an app for learning English language in 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 (several Russian cities, Ukraine, Netherlands), using Scrum methodology with 1-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 (Symbian Qt, iOS)

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

    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.
    • Developed a secure cross-platform backup file format for using in mobile and PC/Mac secure storage app.
    • 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 (Symbian, Windows Mobile)

    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 which 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++

Experience

  • 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.

Skills

  • Languages

    Go, C++, JavaScript, Swift, SQL, Objective-C, Swift 4, TypeScript
  • Frameworks

    Core Bluetooth, Cocoa Touch, Rx, AFNetworking, StoreKit, UIKit, Core Data, RestKit, Express.js, XCTest, Qt, Qt Quick, Media Player, MapKit, Metal
  • Libraries/APIs

    RxSwift, Node.js, CocoaPods, Parse SDK, Core Animation, Fabric, Alamofire, Protobuf, Core Graphics, Objection.js
  • Tools

    AWS ECS, MongoDB Atlas, Git, Xcode, Fastlane, AWS IAM, NGINX, AWS SDK, AWS Push Notification Service (AWS SNS), GitLab CI/CD, GoLand, VS Code, Sketch, Slack, Subversion (SVN), Eureka, Sentry, GitLab, Apache JMeter, WebStorm, Envoy Proxy, MQTT
  • 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, Firebase, Amazon EC2, AWS IoT, Heroku, MacOS, Parse, Symbian, Amazon Web Services (AWS), Blockchain
  • Storage

    MongoDB, PostgreSQL, SQLite, AWS S3, Cloud Firestore, Google Cloud
  • Other

    Freelance, GCD, Back-end Development, DocumentDB, HomeKit, BrainTree, VLCKit, AWS, PDFkit, Intercom, Controls, Transitions, Load Balancers

Education

  • Specialist Degree in Computer Science
    2004 - 2010
    Nizhniy Novgorod State Technical University Institute of Radioelectronics and IT - Nizhniy Novgorod

To view more profiles

Join Toptal
Share it with others