Senior Software Engineer2015 - PRESENTTruecaller
Technologies: Android, Java, Kotlin
- Maintained and actively contributed to one of the most downloaded (300+ million users) and loved (4.5-star rating) apps in the world.
- Developed modules fully written in Kotlin using MVP architecture pattern with full JUnit business logic test coverage.
- Contributed to the creation of a lightweight, powerful, and easy-to-use library: TrueSDK.
- Imported and adapted a large part of the Android AOSP into our codebase.
- Helped interns and junior developers to quickly onboard into the complex ecosystem we designed in order to serve the needs of our users.
Android Developer2010 - PRESENTFreelance
Technologies: Android, Java
- Created TweetsPie, a Twitter utility app for saving users time by displaying the best tweets from their timeline. Implemented full Twitter API integration using the Twitter4J library. Wrote a complex sorting algorithm based on the number of retweets, favorites, time elapsed, reach, and relevance to the user (how often the user interacts with the tweet creator). Implemented an exponential back-off algorithm for silent background updates depending on app usage, network connectivity, battery percentage, and charging status. Included an image manipulation feature for circular avatar creation.
- Developed the Macedonian Orthodox Calendar Android app, a simple app with a static database for showing religious holidays for the current year.
- Created Reagiram.mk, an Android app for taking pictures and sending problem reports to the local government. Designed a push notifications system using Google Cloud Messaging to inform users when their report statuses had changed (processed, resolved, rejected, etc.).
- Developed Andbtiles, an Android library for managing, downloading, caching, or harvesting MBTiles and exposing them to external applications via a content provider. The library is available on Maven Central.
- Developed reTXT, a multimedia messaging app with full end to end encryption, account management, and device syncing via push messages.
- Developed Smoak for Android, an app with OpenGL smoke and fire effects for creating and sharing (anonymous) photos, videos, and texts.
Lead Android Developer2012 - 2014PlanNow Technologies
Technologies: Android, Java (Tapestry)
- Optimized Mobile Survey, one of the most expensive apps on Android, for on-site surveys and network analysis. Implemented Access Point bounding by MAC/BSSID comparison. Improved heatmap/area coverage and route rendering. Limited memory consumption by tweaking image quality depending on screen size, density, and available heap size.
- Created the first phase of Shortlist.fm, a Twitter-like Android app for content and media sharing. Implemented full server communication with JSON with Gson manual data caching for reducing network call overhead. Implemented a profile management and avatar creation mechanism to allow users to crop a picture taken with a camera or picked from the gallery.
- Developed the Android app for Vuact.com, a powerful video analytics platform. Handled network operation implementation using the Volley framework and the image caching/processing implementation using the Picasso library. Featured fragment-based responsive design with a content display based on the screen width. Included HTML5 iframe video handling.
- Created Salama Documents, an Android app for secure document storage in rural African areas, as part of a Stanford University humanitarian project. Implemented functionality for secure account creation, document encryption, password retrieval using HTTPS, SSL certificates, password salts, archive encryption (AES), operator password approval, and photo verification. Included Dropbox API integration. Handled low connectivity by implementing upload/download queues and scheduling.
- Created Salama Documents Admin Panel, a Java Tapestry web application serving as a backbone to the Salama Document project. Implemented account management, operator to region mapping, credential management, new version notification, device tracking, and basic usage statistics.
Android Developer2012 - 2012ITgma
Technologies: Android, Java
- Created a native Android app for real-time embedded soundboard diagnostics and graph tracking. Implemented the I2C protocol via the USB port. Compiled .dll (Windows) drivers as a .so library (Linux) to allow the code to work on Android. Included Android NDK to SDK communication. Implemented graph display functionality for common parameters (gain, excursion, volume, temperature) on both channels.
- Laid out the initial architecture and screen layouts for AEK's (Macedonian Agency for Electronic Communication) phone book and calculator apps. Calculated the minimal amount of Android permission required in the manifest file to avoid being considered a sniffing app (it gathers a lot of background data about the phone and network usage) and optimized it to be power efficient.