Andrey Tarantsov, Objective-C Developer in Saint Petersburg, Russia
Andrey Tarantsov

Objective-C Developer in Saint Petersburg, Russia

Member since May 27, 2014
Andrey is a dedicated generalist, currently enthusiastic about native mobile apps and the Go language. Over the last fourteen years, he has worked with startup, enterprise, and mid-sized clients on mobile and web products, batch processing and machine learning systems, APIs and SDKs, code analysis tools, enterprise workflow systems, and mentored teams on all technical aspects of product development.
Andrey is now available for hire

Portfolio

Experience

  • iOS, 9 years
  • JavaScript, 7 years
  • Cocoa, 6 years
  • Android, 6 years
  • Swift, 4 years
  • Go, 4 years

Location

Saint Petersburg, Russia

Availability

Part-time

Preferred Environment

Xcode, Sublime Text, Mac OS X, Git

The most amazing...

...and universally loved product I've created is LiveReload, a productivity tool for web developers now supported by nearly every web stack in the world.

Employment

  • Senior Developer, Innovation and Product Development

    2015 - PRESENT
    USA Today Network (via Toptal)
    • Implemented a number of MVPs for the innovation team, exploring various aspects of the future of digital journalism. These were very diverse projects ranging from native mobile apps to browser extensions to server-side batch processing daemons and APIs.
    • Applied fuzzy logic, machine learning, and natural language processing to a number of problems in data extraction and predictive analytics categories.
    • Guided the team on technology stack selection, data storage, and structuring; helped make choices about internal architecture.
    • Used the right tool for each job. This often meant mixing multiple languages and technology stacks. We have a Golang daemon that invokes parts in Node.js (for data extraction) and Python (for machine learning) to leverage existing libraries.
    • Implemented a backbone for dashboards that power newsroom analytics dashboards in USA Today Network.
    • Implemented, documented, and maintained a number of Go libraries used throughout our projects.
    Technologies: Golang, Node.js, MongoDB, Machine Learning (Gradient Boosting, Deep Neural Nets), Swift, Client-side JavaScript and CSS, Chrome Browser Extensions, Python
  • Entrepreneur

    2011 - PRESENT
    LiveReload
    • Conceived LiveReload in 2010 as a small open-source command-line tool, which literally saw an overnight success when a prominent blogger found it and recorded an introductory screencast.
    • Released LiveReload 2 in 2011, a Mac OS X app that's been a Top 10 paid developer app in the Mac App Store for the majority of the last three years.
    • Brought LiveReload to a point where it is now supported by all major web toolchains, most of them using my open-source browser extensions (102,733 users of the Chrome extension alone) or my livereload.js script (259 stars and 59 forks on GitHub).
    • Delivered an alpha of LiveReload 3 running some Swift code to my beta users less than 24 hours after the announcement of Swift at WWDC.
    Technologies: Cocoa, Objective-C, Swift, Browser extensions, Node.js, JavaScript, Ruby
  • Freelance App Developer

    2008 - PRESENT
    Andrey Tarantsov Consulting
    • Built a family of dictionary and reference apps for iOS, Mac, Android, WP8 and Blackberry platforms, an accounts+syncing API for the apps, and the internal web portal for linguists.
    • Delivered a face morphing app for a Japanese plastic surgery clinic, which has reached the #1 free entertainment position in 2011 (Japanese app store), with 250,000 downloads in the first month.
    • Built a series of presentation apps for the clients of a 3D rendering agency, including an app used to solicit investments by one the largest US hospitals, and numerous apps for luxury resorts as well as residential and commercial buildings.
    • Collaborated with a partner to deliver two apps, a web portal and an API for the concierge service of a luxury residences provider, and a presentation app used to demo the residences to potential buyers. In both cases, I built the entirety of the server-side and app-side syncing code, and roughly half of the rest of the app.
    • Delivered a bunch of MVPs for US and European startups in the areas of business automation, social networking, and daily deals.
    Technologies: iOS, OS X, Android, Windows Phone 8, HTML5, Java
  • Sketch Plugin Developer

    2017 - 2018
    Evolphin Software (via Toptal)
    • Built a complex Sketch plugin similar to InVision Craft.
    • Integrated the plugin with the existing React codebase written for their Photoshop plugin. Generalized the existing codebase to maximize code sharing in the UI parts of the app.
    • Dug inside Sketch internals, because unlike sane apps like Photoshop, Sketch does not have a stable plugin API (outside of a minimal set of wrappers that aren't of much use for a complex plugin like ours).
    Technologies: Xcode, Cocoa, JavaScript, React, Hopper Disassembler, Sketch.app Internals
  • Senior iOS Developer

    2015 - 2017
    LiveMixtapes (via Toptal)
    • Developed a music playback and exploration app for one of the largest mixtape publishers.
    • Advised the client about UI/UX design, typical iOS behavior, DRM and security options, subscription and in-app payment options, and latest opportunities in the iOS appscape.
    • Saw the app through multiple releases, minor and major.
    • Implemented features like offline playback and custom ad mediation. Fought back against unauthorized usage of our APIs and content.
    • Extracted an internal SDK with our DRM, music playback, and account management code, and used it to power another app (LMT Radio) of the same customer.
    • Maintained high code quality throughout the project, doing refactoring as needed. Started a gradual transition to Swift.
    Technologies: Objective-C, Swift
  • iOS Developer

    2014 - 2015
    StreamTrack (via Toptal)
    • Took over a failing project with really bad source code; gradually refactored it into a maintainable one while keeping it shippable at every point.
    • Rewrote audio streaming code to be more robust (+ added a bunch of features we needed along the way).
    • Rewrote Facebook integration to follow the most recent guidelines by Facebook.
    • Introduced a typed model layer and a clear data flow throughout the application, introduced clear states and state machines where needed.
    • Added pre-roll video advertising, tweaked banner advertising, and added custom data logging for advertising statistics.
    • Rewrote the UI to use Cocoa Autolayout, remove duplication (the app previously used manual positioning and multiple copies of UI per supported screen size) and support iPhone 6 devices.
    • Advised the client on app store policies and guided them through the beta testing process and the app store release.
    Technologies: Objetive-C, CocoaTouch, AdMarvel, Facebook API
  • Founder

    2007 - 2009
    YourSway, LLC
    • Founded and bootstrapped a startup focused on IDEs and language analysis market.
    • Worked for clients to bootstrap the project. In particular, we delivered an IDE for a client's in-house language, pushing the limits of static analysis to handle metaprogramming code and pushing the limits of sanity to inject our debugging code into an unmaintained 10-year-old binary system full of random memory overwrites. (Ask me about software RAID when we connect).
    • Built a number of side projects while exploring new technologies, the then-newly-announced Google App Engine in particular. One of them, a crash analytics tool CrashKit, had a good bunch of active users. It was entirely built by me, and the code to intercept JavaScript exceptions has lived on (maintained by others on GitHub) and is now the industry-standard library used by every crash analytics service.
    Technologies: Eclipse RCP, SWT, Java, Type inferencing, Ruby
  • Senior Software Engineer

    2006 - 2007
    Xored Software, Inc.
    • Built a number of Eclipse-based solutions for the clients of Xored, notably Instantiations, which was later purchased by Google. Some of my work has since been open-sourced by Google as part of the CodePro product.
    • Helped bootstrap the Ruby static analysis work in Xored's Eclipse Dynamic Languages Toolkit (DLTK) project, which I demoed on stage at EclipseCon 2007. This has been one of the first products that performed deep static analysis for Ruby source code.
    • Introduced myself to Java, Eclipse, and a bunch of largish Eclipse frameworks (GEF, EMF, and then brand-new GMF) in the span of three days, after which I delivered two prototypes for a high-value proposal to an important client.
    Technologies: Eclipse, RCP, Java
  • Freelance Developer

    2005 - 2006
    Fuzlez Software
    • Built a few small shareware products for a French startup focused on less computer-savvy users, including an app to send files between two people and an app to automatically push pictures from one computer (e.g., kids') to the desktop of another computer (e.g., grandmother's).
    • Wrote the underlying audio queuing code, helped build an internal calibration algorithm, and helped in other ways in the creation of an automatic voice recording app.
    • Built a simple online store with Ruby on Rails, integrated with a credit card processing company.
    Technologies: Win32 API, C++, Ruby on Rails
  • Software Engineer

    2002 - 2003
    “10th channel” Local TV
    • Collaborated with a partner to build an in-house business automation system while still in high school.
    • Had a great exposure to the messiness of business process automation, and got to play with Delphi, Visual Studio .NET 1.0, and MS SQL Server.
    • Gained valuable insight in how and why software projects fail and how to communicate with business customers. These lessons, learned early on, have helped my career immensely.
    Technologies: Delphi, .NET, C#, Microsoft SQL Server

Experience

  • MVPs at USA Today Network (Development)

    Delivered a number of MVPs for USA Today Network, exploring various aspects of the future of digital journalism. These spanned across our system (native apps, mobile web, and desktop web) and involved predictive analytics, natural language processing, and large-scale data processing.

  • LiveMixtapes (Development)
    https://itunes.apple.com/us/app/livemixtapes/id973056418?mt=8

    Music playback and exploration app for a major mixtapes publisher. Consistently loved by hundreds of thousands of active users.

    I developed this app from scratch, with an advanced caching and offline playback system inside. A good amount of effort went into protecting our early releases from automated extraction.

    See Employment section for more details.

  • LMT Radio (Development)
    https://itunes.apple.com/us/app/lmt-radio/id875582987?mt=8

    A simple companion app to LiveMixtapes, originally built by a different developer and later rebuilt by myself due to stability and code quality issues with the original version.

    Selected review:
    Best radio app for hip hop ★★★★★
    Works better than ever would love to see new features though. Keep up the good work! Nice update!

  • DetroitNow Bot (Development)
    https://twitter.com/detroitnow_io

    An experiment for the Innovation & Product Development Department at Michigan.com. A bot that predicts popular articles, renders speed-reading videos for them and posts those to Twitter and Facebook. Has helped dramatically increase the number of visitors to DetroitNow.io, another MVP of our lab.

  • Michigan News Chrome Extension (Development)
    https://chrome.google.com/webstore/detail/michigan-news-tab/jepaebemdcofpfhkoclepkabflecgieh?hl=en

    A Chrome extension that replaces the New tab with a highly visual gallery of the latest articles in Michigan publications. An MVP built for Innovation & Product Development Department at Michigan.com.

  • RXR North Hills (Development)
    http://www.rxrrealty.com/the-ritz-carlton-residences-north-hills/

    An internal presentation app for a luxury residences provider, used to demo the residences and available amenities to potential buyers, as well as presenting the company's overall portfolio.

    Goal: Help salespeople win customers by providing an iPad app that projects a lot of pretty images and compelling information on an external display.

    1. Built a highly visual iPad app according to the design specs.
    2. The app can project the same UI, adjusted for a different aspect ratio, on an external display or via AirPlay.
    3. Implemented syncing for user data; provided specs and example server-side implementation of the syncing API.
    4. Imported and cleaned up a lot of existing data from Excel documents and from WordPress data exported from their web site.

    (I've also built several apps very similar to this one, as a subcontractor for the same company.)

  • LiveReload (Development)
    http://livereload.com/

    An app for web developers that automatically refreshes the browser and makes Sass, LESS, CoffeeScript, and other compilers accessible and convenient for all users.

    Held a Top 10 paid developer app in the Mac App Store for the majority of the first three years.

    Featured in Smashing Magazine, CSS Tricks blog, Adobe product blog and multiple presentations by Google Chrome developer relations team. Thousands of happy customers, dozens of raving reviews.

  • LiveReload Extensions (Development)
    https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei?hl=en

    A companion to my LiveReload app, these extensions are also being used by numerous open-source tools, including those produced by Google. The Chrome extension has over 200,000 active users.

  • VidaLingua Dictionaries (Development)
    http://vidalingua.com

    Spanish/French/German/Italian/Portuguese-English dictionaries for iOS, Android, Windows Phone 8, Blackberry and Mac. Normally the apps hold a top 5 keyword search position on iOS, #1 position on Android. Repeatedly named the best Android dictionary app.

    Goal: grow a dictionary app business.

    1. Took over the development of an existing iOS app, and brought the product to Android, Windows Phone 8 and Mac platforms.
    2. Implemented a number of most-requested features, making the most out of the databases the company has.
    3. Enabled a team of linguists to continuously update the dictionaries via a dedicated portal and a supporting Chrome extension.

    I still provide occasional mentoring for this client's development team.

  • Ritz-Carlton Residences Valet Parking (Development)

    Valet service automation suite, allowing residents to request their car from the valets, and to communicate with concierge and valet services.

    Goal: help the client explore feasibility of mobile apps for automation of everyday flows.

    1. Worked with a designer to make the best possible and Apple Human Interface Guidelines-compliant screen designs.
    2. Delivered an iPhone app for residents, an iPad app for staff, an API for the apps, and an admin web portal.

  • NYP 18 Months (Development)

    An interactive presentation app for potential investors of New York Presbyterian Hospital. (Hired by a 3D modeling agency to build an app for their client.) A particular challenge has been to reuse the design elements across a large number of similar, but subtly different screens. For that, I've created a custom layout engine that rendered layouts, behaviors, animations, media, and copy based on an easy-to-edit declarative format. I built the engine and the app in under 1.5 months. The app has ultimately been delivered to the customer of the agency on a set of dedicated iPads.

    Goals: (1) rapidly accommodate changes based on the customer’s feedback, (2) provide a maintainable solution for exposing a vast amount of data through the app.

  • SeikeiMania (Development)

    Has been the #1 free entertainment app in Japan for several months in 2011, with 
250,000 downloads in the first month.

    Goal: advertise a plastic surgery clinic.

    Built an app simulating three kinds of face surgeries the clinic does: nose width adjustment, chin width adjustment, and addition of a “double eyelid.”

  • Mockko (Development)

    A high-fidelity iOS prototyping tool that I founded in 2010. Works in-browser, built with HTML5 and some jQuery.

    I had a co-founder, but he did very little actual coding, so 95% has been built by me. It's a solid prototype which is still being used by a few people, but after the other co-founder left, I didn't have the energy to turn it into a real product.

  • DineTime (Development)

    An iOS app for cafe/restaurant staff to manage customer reservations and live waiting lists.

    Goal: quickly implement a visually attractive prototype of a startup idea.

    1. Turned a bunch of design screens into a working prototype.
    2. Together with a client, did multiple iterations on screen layouts and behavior, successfully hitting numerous tight deadlines to demo stuff at prescheduled investor meetings.

    The customer went on to demo the app to multiple potential clients and investors.

  • Toptal Mentor
    Andrey is a mentor in the Toptal Global Mentor’s Program. This program is a partnership between Toptal and General Assembly to provide high quality mentorship for students from minority and low income backgrounds who are looking to begin their careers as professional software engineers. Andrey shows commitment to diversity in tech by mentoring a General Assembly student every week for a year, covering everything from coding tips and tricks to advice on making it in the industry.

Skills

  • Languages

    Java, Objective-C, Go, JavaScript, Visual Basic 6 (VB6), CoffeeScript, Swift, HTML5, SQL, PHP, Sass, CSS, Ruby, C#, Less, Bash, PL/pgSQL, C, C++, Delphi, Ada, AppleScript, Python, Assembler x86, AWK
  • Frameworks

    Cocoa, Express.js, Cocoa Touch, Android SDK, .NET, Boost, Ruby on Rails (RoR), JNI, OSGi, Silverlight, AngularJS, Eclipse Modelling Framework (EMF)
  • Libraries/APIs

    Win32 API, React, Microsoft Foundation Class Library (MFC), POSIX, Standard Template Library (STL), Sockets, jQuery, Eclipse JFace, Eclipse SWT, iOS Extensions, Google Charts API
  • Tools

    Shell, Jekyll, Git, Sublime Text, Hopper Disassembler, Eclipse IDE, Android Studio, Stylus, Webpack, Adobe Photoshop, Eclipse RCP, Perforce, CVS, Subversion (SVN), Mercurial, Interactive Disassembler (IDA)
  • Paradigms

    Test-driven Development (TDD), Database Design, Modular Development, Model-driven Development, Metaprogramming, Object-oriented Design (OOD), Model View Controller (MVC), Rapid Prototyping, Reactive Programming, Concurrent Programming
  • Platforms

    iOS, MacOS, Windows Phone 8, Windows, Android, Blockchain, Google App Engine, BlackBerry, Linux
  • Storage

    SQLite, MongoDB, Redis, PostgreSQL, NoSQL, Memcached
  • Other

    Unix Shell Scripting, WebSockets, Sketch Plugins, Scraping, Web Standards, Screencasting, Machine Learning, Natural Language Processing (NLP), Algorithms, Reverse Engineering, Applied Mathematics, Lean Startups, Data Structures, Windows Presentation Foundation (WPF)

Education

  • Bachelor's degree in Computer Science
    2003 - 2007
    Novosibirsk State University - Novosibirsk, Russia

To view more profiles

Join Toptal
I really like this profile
Share it with others