Scroll To View More
Ivan Kropotov

Ivan Kropotov

Saint Petersburg, Russia
Member since December 21, 2015
For the last two years, Ivan's been building online game projects on variously sized teams, working on both client and server sides, designing architecture, and coming up with solutions for implementing game design ideas. He develops game modules using the most suitable technologies, modifying and refactoring structure, and optimizing on all levels of module interactions for the top performance and response time.
Ivan is now available for hire
  • Git, 3 years
  • JavaScript, 3 years
  • Node.js, 2 years
  • Python, 2 years
  • Redis, 2 years
  • CoffeeScript, 2 years
  • Marionette.js, 2 years
  • PostgreSQL, 1 year
Saint Petersburg, Russia
Preferred Environment
OS X, Linux, JetBrains (PhpStorm, WebStorm), Git
The most amazing...
...thing I've done is the complete architecture redesign and implementation of an online game project from a raw JS framework that enabled it to launch.
  • Node.js Developer
    2016 - PRESENT
    Veoo Limited
    • Refactored the whole project to a new logging system, that allowed us to send logs to the Elasticsearch engine.
    • Refactored a project to move part of the data from MongoDB to a more suitable and cheap MySQL solution.
    Technologies: Node.js, MySQL, PHP, ELB, Amazon AWS, Git
  • Web App Developer (Node.js, Backbone.js, Marionette.js)
    2016 - 2016
    Peak Shift Inc. (via Toptal)
    • Successfully refactored an existing Backbone part to use a Marionette structure.
    • Built new features for the app, using whole stack: added new pages + UI elements (HTML, CSS, and jQuery), proper submit and front-end processing (Marionette.js) + added back-end endpoints for necessary logic handling (Node.js, MySQL).
    • Successfully achieved creating deep-nested views structure and proper rendering + refreshing with Marionette's regions.
    • Suggested and implemented UX flow details and necessities leading to clearer design and app overall.
    • Managed with a client to create clear milestones, estimated and moved towards successfully achieving those.
    Technologies: Node.js, Marionette.js, Backbone.js, HTML, CSS, Git
  • Online Game Developer
    2014 - 2016
    • Developed a live-notification system using WebSockets and an asynchronous Tornado framework, which optimized the amount of database requests more than 10x.
    • Created an achievement calculator for players that belonged to a particular virtual city which included aggregating 40 metrics, distributing prizes, and rendering on the front-end.
    • Rebuilt a quest system due to lack of performance. Moved it to a separate Node,js module, utilized RabbitMQ for module interactions, and used a finite state machine pattern for the module architecture which led to more than 5x response optimization.
    • Tweaked a Cordova plugin for Google Play Game Sevices. This added functionality for offline authorization, handling calls, and posting achievements on the Leaderboards API from the back-end.
    • Developed more than 50 complicated pages (pop-ups, animations, and transitions) for the SPA version of the game for mobile platforms using a front-end Marionette framework with jQuery, as well as implementing the API for it on the back-end.
    Technologies: JavaScript (CoffeeScript) with Marionette.js and Node.js, Python (Tornado), Java, PHP (CakePHP), PostgreSQL, Redis, RabbitMQ, HTML5, SCSS (CSS)
  • Web Developer
    2012 - 2013
    • Completely changed the authorization process for a small social network which included Facebook and Google authorization, altering the existing user recognition. Basically redesigned it with completely different UI dynamic features with HTML, CSS, and JavaScript.
    • Added a feature of managing groups profile with personal profiles; adding moderators and administrators roles.
    • Based on an API of Online Service for processing data retrieved from special tire sensors, implemented a client management system in Django. This included automatic email sending with Mandrill software, PDF rendering and structuring of reports, and presenting it all in a clean and organized interface.
    Technologies: Python (Django), MySQL, jQuery, HTML, CSS
  • VirCities (Development)

    An online game (social-economic RPG simulator) currently launched for mobile platforms on major platforms (Android, iOS, and Windows Phone).

  • Studied at Southwest Baptist University's Computer Science Program (Other amazing things)

    Completed my first year at Southwest Baptist University (Bolivar, MO) in the United States with a 4.0 GPA in the Computer Science program; totaling 25 units.

  • Languages
    CoffeeScript, JavaScript, HTML5, Python, SCSS, CSS3, Java, PHP, SQL, Go
  • Tools
    Grunt, RabbitMQ, Capistrano, Knex.js, Apple Push Notifications, Git, Mongoose, NPM
  • Frameworks
    Cordova, CakePHP, Django, Express.js, Redux
  • Libraries/APIs
    Lodash, Backbone.Marionette, Marionette.js, Node.js, jQuery, Underscore.js, Game Center, Backbone.js, Passport.js, Facebook API, Google API, Mustache, Moment.js, CreateJS, React, Google+ API, WebSockets
  • Storage
    PostgreSQL, Redis, MySQL, MongoDB, Relational Databases
  • Other
    Google Game Services, Google+, Bluebird, Async.js, HTML5 WebSockets, Push Notifications, Google+ Authentication, Tornado, Data Structures, Algorithms, RESTful APIs, AJAX
  • Paradigms
    Promise, Agile Software Development, Declarative Programming, REST, Microservices, Object-relational Mapping (ORM), Kanban, Functional Programming
  • Platforms
    Heroku, iOS, Android, Linux, Windows, Amazon Web Services (AWS), Windows Phone, Mac OS, Docker
  • Bachelor's degree in Building and Civil Engineering
    2007 - 2012
    Technical University of Moldova - Chisinau, Moldova
  • CS1156x: Learning From Data (Machine Learning)
I really like this profile
Share it with others