Dusan Pesic, Developer in Belgrade, Serbia
Dusan is available for hire
Hire Dusan

Dusan Pesic

Verified Expert  in Engineering

Software Developer

Location
Belgrade, Serbia
Toptal Member Since
March 9, 2015

Dusan loves programming, especially making useful applications and interesting games that fit in your pocket. He's a whizz with code and doesn't procrastinate. He has experience working in teams but is equally comfortable getting things done singlehandedly. Dusan's always looking for a challenge in new UX solutions and is up to date with Google Android visual and programming standards.

Portfolio

NDA (via Toptal)
RxJava, Unit Testing, Android, Git, Android Studio, Mobile Development
NDA (via Toptal)
Unit Testing, Camera API, Android, Git, Android Studio, Mobile Development
NDA (via Toptal)
RxJava, ExoPlayer, SQLite, Android, Git, Android Studio, API Design...

Experience

Availability

Part-time

Preferred Environment

Git, Android Studio, Windows, Sketch, Adobe Photoshop

The most amazing...

...thing I've created is a secure messaging application with encrypted storage, communication, and memory.

Work Experience

Android Developer

2018 - 2018
NDA (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, Android, Git, Android Studio, Mobile Development

Android Developer

2018 - 2018
NDA (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, Android, Git, Android Studio, Mobile Development

Android Developer

2017 - 2018
NDA (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, Android, Git, Android Studio, API Design, Mobile Development

Software Developer

2016 - 2017
Artwork 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, Android, Android OpenGL, User Interface (UI), User Experience (UX), Git, Android Studio, API Design, Mobile Development

Android Developer

2016 - 2016
NDA (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, Android, Git, Android Studio, Mobile Development

Android Developer

2015 - 2016
NDA (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, Android, Git, Android Studio, Mobile Development

Android Developer

2014 - 2015
Applied 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: LWJGL, LibGDX, Android SDK, Java, Android, User Interface (UI), User Experience (UX), Git, Android Studio, API Design, Mobile Development

Android Developer

2014 - 2014
Spoiled 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, Java, Android, Android Studio, API Design, Mobile Development

Android Developer and Android Team Lead

2012 - 2014
Whitecitysoft
  • 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, Android, User Interface (UI), User Experience (UX), Git, API Design, Mobile Development

NDA

A social connectivity app centered around safely and permanently storing children-created artwork and sharing them with friends and family. It is based on uploading photos and adding video commentary of the author-child overlaid on the photo. Family and friends would be able to add text, audio, and video comments on the photo posts. There is also a part of the app for editing photo captured with the in-app camera.

NDA

App for taking a selfie and sending it to a server for analysis. The resulting data is returned to the app and displayed with high-quality visual elements and dynamic interface.

NDA

Financial services app used to overview and manage the amount and allocation of personal savings. Very rich user interface with graphs and charts as well as nicely designed imagery.

Colorica: Pixel Color by Number

Square coloring by number game for children and adults.

Colorica: Mandala Coloring Book

Mandala coloring book for children and adults.

Don't Tap the Wrong Hot Dog

An Android game with the mechanics based on a popular game Don't Tap The White Tile.

Cradle

A simple stress release game for Android.

NDA

An application for browsing and playing music and videos and browsing articles and photos. Music and video content as well as articles are provided by multiple third-party APIs, and the system of user creation and logging in is done with a project-based server. The application has very complex custom components, and multimedia content is streamed with in-app players.

NDA

A secure messaging application with encrypted communication, storage, and memory. It has comprehensive messaging features including sharing text and multimedia content, keeping list of contacts, favorites, and a message preview widget, with the difference that all data is encrypted in transfer, local databases, and even in RAM.

NDA

A social network application based only on Android and iOS devices. My part was Android implementation of the system. It has full social features consisting of creating multimedia posts and serving them in custom views. Many APIs are included, like attaching weather information to the post provided by a third party service. The user is able to create an account, log in, set and update personal settings regarding the application functionality, review posts, connect to other people with the "following" system, comment on posts, make favorites, and do other social network interactions. I was the only Android Developer on this project.

NDA

An application for daily input of meals and drinks consumed. The user has the ability to create an account and log in. Inputs have description, quantity, and photo or voice notes attached through in-app camera and voice recorder. All data is sent via a RESTful API to the server and returned back at the user's request. The application also serves a list of videos regarding the food recommendations and tutorials, played via implemented video player.

NDA

An application for storing and sharing gift cards. It has a rich UI with many custom views and components. The user can create an account and log in with services like Facebook and Google or can use any other email through the system server. The user can share content on Facebook, Twitter, or via another P2P messaging platform.

Rowenta Intelligent Beauty

A regional Rowenta product browsing application with push notification system implemented for special promotions and including tutorials on product usage.

Languages

Kotlin, Java, Python, XML, ActionScript 3, SQL, JavaScript, HTML, C, C#

Frameworks

Mockito, Dagger 2, Android SDK, JUnit, ORMLite, LibGDX, Django, Google Web Toolkit, Unity3D

Libraries/APIs

Camera API, Android OpenGL, RxJava 2, Reactive Extensions, Google Gson, RxJava, OpenGL ES, FFmpeg, Firebase Android SDK, Google Maps, Facebook SDK, Facebook API, JSON-RPC, HERE Maps API, LWJGL, Socket.IO, OpenGL, GPUImage, Twitter API

Tools

Android Studio, Firebase Analytics, Trello, Adobe Illustrator, Eclipse IDE, Adobe Photoshop, Bitbucket, Notepad++, Git, Confluence, Jira, GitHub, Gradle, Google Analytics, Asana, Subversion (SVN), Android Jetpack, BigQuery, ExoPlayer, Android NDK, Sketch

Paradigms

Clean Architecture, Unit Testing, Dependency Injection, Model View Presenter (MVP), Model View Controller (MVC), Object-oriented Programming (OOP), Asynchronous Programming, Object-oriented Design (OOD), App Development, Model View ViewModel (MVVM), Mobile Development, Clean Code, Continuous Integration (CI), Event-driven Programming, REST, Agile Software Development, Scrum

Platforms

Firebase, Android, Windows, Eclipse, Mixpanel, Google App Engine, Ubuntu, MacOS, Twilio

Storage

RoomDB, JSON, SQLite, MySQL

Other

GPS, User Interface (UI), User Experience (UX), Coroutines, Cloud Storage, Performance Analysis, API Design, Encryption, DOM, Mapbox SDK, Graphics, Illustration, Design

Industry Expertise

Photography

2007 - 2012

Master's Degree in Applied Graphics

Faculty of Applied Arts - Belgrade, Serbia

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