Dusan Pesic, Software Developer in Belgrade, Serbia
Dusan Pesic

Software Developer in Belgrade, Serbia

Member since January 21, 2015
Dusan loves programming, especially making useful applications and interesting games that fit in your pocket. He's a whiz with code and doesn't procrastinate. He has experience working in teams but is equally comfortable getting things done single-handed. He's always looking for a challenge in new UX solutions, and is up to date with Google Android visual and programming standards.
Dusan is now available for hire

Portfolio

Experience

  • Java, 7 years
  • Android, 7 years
  • SQLite, 7 years
  • Unit Testing, 4 years
  • Firebase Android SDK, 3 years
  • RxJava 2, 3 years

Location

Belgrade, Serbia

Availability

Part-time

Preferred Environment

Windows, Android Studio, Eclipse, Git

The most amazing...

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

Employment

  • 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: Android, Unit Testing, RxJava
  • 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: Android, Camera API, Unit Tests
  • 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: Android, SQLite, ExoPlayer, RxJava
  • 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: Android, LibGDX, OpenGL, FFmpeg, Google App Engine, Python, MySQL, BigQuery, Cloud Storage, Firebase SDK, JavaScript, HTML
  • 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: Android, Socket.IO, JUnit, Continuous Integration
  • 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: Android, GPUImage, FFmpeg, Mixpanel
  • 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: Java, Android SDK, LibGDX, LWJGL, Git
  • 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: Java, Android SDK, Git, REST
  • 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: Java, Android SDK, SQLite, DOM, REST, SVN

Experience

  • NDA (Development)

    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 (Development)

    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 (Development)

    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 (Development)
  • Colorica: Mandala Coloring Book (Development)
  • Don't Tap the Wrong Hot Dog (Development)

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

  • Cradle (Development)

    A simple stress release game for Android.

  • NDA (Development)

    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 (Development)

    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 (Development)

    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 (Development)

    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 (Development)

    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 (Development)

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

Skills

  • Languages

    Java, XML, ActionScript 3, SQL, C, Kotlin, Python, C#
  • Frameworks

    Dagger 2, Android SDK, JUnit, Mockito, ORMLite, LibGDX, Django, Google Web Toolkit, Unity3D
  • Libraries/APIs

    Camera API, Android OpenGL, RxJava 2, Reactive Extensions, Google Gson, React, OpenGL ES, FFmpeg, Firebase Android SDK, Google Maps, Facebook SDK, Facebook API, JSON-RPC, GPUImage, Twitter API
  • Tools

    Android Studio, Firebase Analytics, Trello, Adobe Illustrator, Eclipse IDE, Adobe Photoshop, Bitbucket, Notepad++, Git, Atlassian Confluence, Jira, GitHub, Gradle, Google Analytics, Asana, Subversion (SVN), Android NDK
  • Paradigms

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

    Android, Windows, Mixpanel, Google App Engine, Ubuntu, MacOS
  • Storage

    RoomDB, JSON, SQLite, MySQL
  • Other

    GPS, User Interface (UI), User Experience (UX), Windows ADK, ADK, Performance Analysis, API Design, Encryption, DOM

Education

  • Master's degree in Applied Graphics
    2007 - 2012
    Faculty of Applied Arts - Belgrade, Serbia

To view more profiles

Join Toptal
I really like this profile
Share it with others