Android Developer
2018 - 2018NDA (via Toptal)- Split the existing codebase into multiple modules, following clean architecture principles.
- Refactored thread management by introducing Reactive Extensions (RxJava 2).
- Created multiple highly polished custom widgets according to the instructions by the design team.
- Fixed many memory leaks that existed in the legacy code.
- Added unit test and documentation coverage.
Technologies: RxJava, Unit Testing, AndroidAndroid Developer
2018 - 2018NDA (via Toptal)- Integrated Camera API to send an image to a server and receive specific data based on the image analysis.
- Implemented a polished user interface based on the data received from the server.
- Worked closely with the designer on following the latest Material Design standards according to the official guidelines.
- Provided complete unit test and documentation coverage.
Technologies: Unit Testing, Camera API, AndroidAndroid Developer
2017 - 2018NDA (via Toptal)- Replaced the WebView/JavaScript-based part of the app with a native Android SDK.
- Replaced the legacy thread management and event bus with Reactive Extensions (RxJava 2).
- Integrated ExoPlayer for video playback.
- Forked a customized an open-source library according to the specs of the project.
- Synchronized multimedia content with AWS S3.
Technologies: RxJava, ExoPlayer, SQLite, AndroidSoftware Developer
2016 - 2017Artwork Interactive- Implemented a high performance technique for real-time bitmap coloring using Shaders (GL ES).
- Created a persistent offline task synchronization library.
- Created an API in Java deployed on Google App Engine with Cloud Endpoints.
- Created a Compute Engine (GCP) instance which observes the pull queue where App Engine adds tasks, and based on the task data creates video files using FFmpeg which are then upload directly to Cloud Storage. The code on the instance is written in Python.
- Created a desktop application for content management in JavaFX wich does extensive bitmap preprocessing to prepare for the in-app GL ES Shaders.
- Created a desktop program to visualize specific colors in 3D in the HSV color space as a utility program for the designer to select colors to be used in apps.
Technologies: HTML, JavaScript, Firebase, Cloud Storage, BigQuery, MySQL, Python, Google App Engine, FFmpeg, OpenGL, LibGDX, AndroidAndroid Developer
2016 - 2016NDA (via Toptal)- Updated all server calls to use direct socket communication with the server (using Socket.IO) instead of the REST API.
- Provided 100% unit test code coverage.
- Documented and delivered the codebase as an Android library.
- Added a continuous integration testing and deployment pipeline.
Technologies: Continuous Integration (CI), JUnit, Socket.IO, AndroidAndroid Developer
2015 - 2016NDA (via Toptal)- Refactored an existing MVP-style codebase to a high-quality production level with the most recent technologies.
- Completely updated UI and UX based on the new guidelines.
- Created a photo editor using GPUImage library to support full photo editing including color correction, cropping, and skewing the image, both manually or automatically with pre-defined filters.
- Utilized FFmpeg library on the device to compose a video overlaying an image with a video file, both captured in the app itself.
Technologies: Mixpanel, FFmpeg, GPUImage, AndroidAndroid Developer
2014 - 2015Applied Art Labs- Created various algorithms for games.
- Implemented high-quality OOP patterns in desktop- and Android-based games.
- Innovated a networking library for using Android phones as a controller pad over WiFi for a desktop-based game.
Technologies: Git, LWJGL, LibGDX, Android SDK, JavaAndroid Developer
2014 - 2014Spoiled Milk- Created complex custom components for a multimedia Android application.
- Implemented in-app audio and video streaming with multiple content providers through the company's APIs.
- Created complex middleware for communication with different APIs.
- Implemented user-defined favorite lists of audio tracks and videos.
- Created optimized and user-friendly navigation for browsing through large amounts of various kinds of data.
- Implemented multilanguage support.
Technologies: REST, Git, Android SDK, JavaAndroid Developer and Android Team Lead
2012 - 2014Whitecitysoft- Created various custom widgets and components using company designer guidelines with MVC standards applied and full customizability.
- Served multimedia content in applications with lazy loading for a better user experience.
- Implemented native (C++) libraries for communication, encryption, and file handling.
- Integrated social networking on multiple projects with Facebook SDK, Twitter Kit, and G+.
- Created a social network application with all the social network functionality. Posting features included multimedia content, hashtags, comments, followers, personal messages, and favorites. Most of the view components are custom-made from the designer's guidelines.
- Integrated SQLite in various projects.
- Added Android background services for various purposes.
Technologies: Subversion (SVN), REST, DOM, SQLite, Android SDK, Java