Filip Vinković, Developer in Zagreb, Croatia
Filip is currently unavailable

Filip Vinković

Mobile Apps Developer

Zagreb, Croatia

Toptal member since July 2, 2019

Bio

Filip is a software engineer with five years of experience specializing in Android development. He's worked on dozens of projects in multiple industries, the latest being the largest classified ads app in the region with over 200,000 monthly active users. Filip is passionate about building reliable software architecture and writing readable and maintainable code.

Portfolio

Hypori Inc.
Android, Android SDK, Kotlin Multiplatform, Kotlin Multiplatform Mobile (KMM)...
OLX
Android, Android SDK, Kotlin, Continuous Integration (CI), Unit Testing...
Fortune 100 North American Construction Equipment Manufacturer
Android, Java, Kotlin, Flutter, Kotlin Multiplatform Mobile (KMM)...

Experience

  • Android - 11 years
  • REST - 11 years
  • Mobile Apps - 11 years
  • Git - 11 years
  • Java - 11 years
  • Android SDK - 11 years
  • Clean Architecture - 11 years
  • Kotlin - 10 years

Preferred Environment

Git, Gradle, Android Studio, OS X

The most amazing...

...project I've worked on is a white-label app which was published for 10 different amusement parks in North America.

Work Experience

Senior Mobile Engineer

2025 - PRESENT
Hypori Inc.
  • Contributed to a rewrite of the Hypori Android app using Kotlin Multiplatform (KMP) and Jetpack Compose.
  • Helped architect the new KMP modules and integrated critical legacy code into them to ensure smooth migration.
  • Integrated Gradle convention plugins to simplify Gradle configuration.
  • Drove UI/UX improvements by proactively proposing design enhancements and implementing more intuitive, user-focused solutions across the app.
Technologies: Android, Android SDK, Kotlin Multiplatform, Kotlin Multiplatform Mobile (KMM), Gradle, Mobile App Development, Agile Software Development, Mobile Development, Software Architecture, Application State Management, Bug Fixes, User Authentication, Push Notifications, Cross-platform, Encryption, Performance Optimization, Code Auditing, Swift, iOS

Senior Android Engineer | Platform Team

2024 - 2025
OLX
  • Assisted in planning the gradual integration of Flutter modules into existing native apps by designing native code to Flutter communication, state management, and architecture.
  • Improved and modernized Android codebase to boost maintainability and developer productivity.
  • Enhanced CI/CD pipelines, reducing build times and improving release reliability.
  • Increased stability of UI and unit tests to enable faster and more confident releases.
  • Led internal survey to identify other teams' pain points, shaping Platform team priorities.
  • Handled automation for app review analysis to detect negative trends and accelerate issue response.
Technologies: Android, Android SDK, Kotlin, Continuous Integration (CI), Unit Testing, Jetpack Compose, REST APIs, Dagger 2, Mobile App Development, Software Architecture, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Flutter, Performance Optimization, Code Auditing

Senior Software Engineer (Mobile)

2020 - 2024
Fortune 100 North American Construction Equipment Manufacturer
  • Started as a senior Android engineer and, over time, transitioned to a mobile engineer leading projects in Flutter, Kotlin Multiplatform, and React Native.
  • Contributed to a fleet management Android app; initiated migration from Java to Kotlin, introduced proper coding standards, code style, and unit tests.
  • Made architectural improvements to an unstructured codebase, following SOLID principles, MVVM using Jetpack Architecture Components.
  • Led research on cross-platform solutions and worked on multiple projects using Kotlin Multiplatform and Flutter.
Technologies: Android, Java, Kotlin, Flutter, Kotlin Multiplatform Mobile (KMM), Technical Leadership, XML, Android SDK, Retrofit, Jetpack Compose, REST APIs, Dart, Dagger 2, Kotlin Multiplatform, Mobile App Development, Cross-platform App Development, Offline-first Development, Software Architecture, React Native, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Push Notifications, Cross-platform, Encryption, Performance Optimization, Cloud Firestore, Code Auditing, Swift, iOS

Senior Android Engineer

2022 - 2023
Truecaller
  • Collaborated on the Cloud Telephony Android team, working on the Call Assistant—a virtual assistant that uses machine learning and speech-to-text technologies for intelligent call screening.
  • Adapted the Call Assistant for new markets by implementing region-specific enhancements, including retry mechanisms, detailed logging, and performance measurements.
  • Developed new features such as greeting customization, call feedback, voicemail, and more to better serve diverse market needs.
  • Implemented the core logic of a call recording feature using Android telecom APIs.
Technologies: Android, Kotlin, Jetpack Compose, XML, Android SDK, Retrofit, REST APIs, Dagger 2, Mobile App Development, Software Architecture, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Push Notifications, Performance Optimization

Senior Android Developer

2019 - 2020
Poq Studio
  • Developed and maintained multiple apps using an app commerce platform.
  • Wrote new apps and new features in older projects using Kotlin and refactored some of the codebases from Java to Kotlin.
  • Performed code reviews through GitHub, used Jira for task tracking, and Azure DevOps for continuous integration.
Technologies: RxJava 2, Rx, Model View ViewModel (MVVM), KOIN, Dagger, Git, Java, Kotlin, Android SDK, XML, Retrofit, REST APIs, Dagger 2, Mobile App Development, Software Architecture, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Push Notifications

Senior Android Developer

2018 - 2019
Undabot
  • Worked on an agile team of four Android developers on the largest classified ads platform in the region with more than 500,000 downloads.
  • Generated time estimates, implemented code reviews, and participated in scrum meetings.
  • Wrote new features in Kotlin, followed clean architecture and MVP pattern, maintained and refactored legacy Java code, and composed unit tests.
  • Collaborated with the design team by giving input and opinions specific to the Android platform.
  • Worked with the back-end team to define the RESTful APIs following the JSON API standard.
Technologies: RxJava 2, Rx, Git, Java, Kotlin, Android, XML, Android SDK, Retrofit, REST APIs, Dagger 2, SQLite, Mobile App Development, Software Architecture, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Push Notifications, Encryption

Android Engineer

2017 - 2018
Ars Futura
  • Created an Android app for musicians by setting up the code architecture, unit tests, and continuous integration.
  • Developed a custom Android view for an optimized performance of displaying song lyrics with music chords; also implemented manual text size/position measuring and drawing.
  • Took over an IoT project using Bluetooth Low Energy and real-time data transfers. Improved stability and performance, resulting in a better user experience and lower data usage costs.
  • Collaborated closely with back-end developers on defining RESTful APIs and designing a data synchronization system.
  • Collaborated closely with designers in creating a modern material design app.
  • Mentored junior developers and conducted interviews for the company and for a client.
Technologies: Bluetooth Low Energy (LE), Git, Java, Kotlin, Android, XML, Android SDK, Retrofit, REST APIs, Dagger 2, SQLite, Firebase, Mobile App Development, Offline-first Development, Software Architecture, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Push Notifications, Performance Optimization, Cloud Firestore

Android Engineer

2015 - 2017
Infinum
  • Developed a number of Android applications from scratch for international clients in different industries, some of which have hundreds of thousands of users.
  • Worked on maintaining, refactoring, and upgrading legacy applications.
  • Worked closely with designers on creating and implementing designs that follow the best practices for the Android platform.
  • Collaborated closely with back-end developers on defining RESTful APIs for mobile applications.
  • Worked on creating a library for a simplified usage of Camera 1 and Camera 2 Android APIs.
Technologies: Git, Kotlin, Java, Android, XML, Android SDK, Retrofit, REST APIs, Dagger 2, SQLite, Firebase, Mobile App Development, Offline-first Development, Software Architecture, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Push Notifications, Encryption

Experience

oomami | Web and Mobile Meal Planning Platform

https://getoomami.com/
I've been working solo on a full-stack meal-planning app focused on nutritional values.

It offers features such as a meal calendar, meal plans, shopping lists, a recipe database, and more, with all user data synced across devices. Nutritional values are taken from a third-party service and integrated into the app.

I built the back end using Kotlin (Ktor) and PostgreSQL, the web front end using React and Next.js, and mobile apps (Android and iOS) using Flutter.

I integrated AI (OpenAI API) to make recipe importing even smoother by matching user's input with foods from our food database.

Njuškalo | The Largest Classified Ads App in the Region

https://www.njuskalo.hr/
As a member of an agile team consisting of four iOS and four Android developers, I implemented and maintained critical parts of the app, which has more than 500,000 downloads.

Some of the complex features I worked on include ad details, an in-app messenger, a dynamic form input engine, and more. I participated in scrum meetings, time estimates, and other related operations. We wanted an easy-to-maintain, testable codebase, so we used clean architecture, an MVP for the presentation layer, and Dagger for dependency injection. We composed unit tests with JUnit and UI tests with Espresso. Tests and static analysis tools such as Lint and Detekt were run on the GitLab CI server to prevent issues from being merged into the main branches.

Tools and Libraries: Android SDK, Java, Kotlin, RxJava, Retrofit, OkHttp, Dagger, Glide, Picasso, Facebook SDK, JUnit, Mockito, Espresso

White-label Amusement Park App

As an Android developer in an Agile team, I created a white-label app that was published for ten different amusement parks in North America. Each of the apps was downloaded between 100,000 and 500,000 times.

The app downloaded a configuration from the API to modify the appearance of the app, depending on the park it was used for.

I implemented Bluetooth beacon detection with Bluetooth Low Energy API to trigger push notifications as the users walk by a certain POI in the park.

I worked with location services to display the user's location on an illustrated high-resolution map which utilized tiling to make pinch-to-zoom performant and reduce the device's memory usage.

Geofencing was implemented to detect when the user enters and exits the park.

Technologies and Tools: Android SDK, Bluetooth Low Energy, Java, Retrofit, DBFlow, JUnit, Mockito, Glide

Electricity Consumption Monitoring App

I worked in a team of three Android developers on the development of an electricity consumption monitoring app.

The app was written in Kotlin and followed clean architecture and MVVM. Android Architecture Components were used, specifically ViewModel and LiveData. To ensure code quality, we used Detekt, Ktlint for static analysis, and also wrote JUnit tests.

We forked and modified a popular open-source chart library to display energy consumption with real-time data updates.

OAuth was implemented for authentication.

Technologies and Tools: Android SDK, Kotlin, RxJava, JUnit, Retrofit

IoT Bluetooth Gateway App

This was an Android app that used Bluetooth Low Energy to connect to temperature, humidity, pressure, and light sensors to read measurements and publish them to an API.

When I joined the project, the codebase was in a rough state and my task was to improve reliability and implement new functionalities.

I fixed a number of concurrency issues, improved performance, and stability which resulted in fewer missing data points.

I also implemented data traffic throttling when the devices are connected to the cell network which reduced data usage costs by a fair amount.

Technologies and Tools: Android SDK, Bluetooth Low Energy, Java, Couchbase SDK

Songbook | Lyrics Database App

I created an Android app that allowed users to save song lyrics, add chords to them, and create playlists.

The app was written in Kotlin and followed clean architecture and MVP for the presentation layer. Unit tests were written with JUnit and Mockito.

I implemented a custom view for the optimal performance of rendering lyrics with music chords with support for touch gestures like scrolling and piching to change text size.

The lyrics view featured a pinch-to-zoom and automatic scrolling capabilities with configurable scrolling speed.

I used Realm for data storage and Retrofit for connecting to a RESTful API.

I closely worked with the back-end team to design a data synchronization system between multiple devices.

Technologies and Tools: Android SDK, Kotlin, Realm, Retrofit, JUnit, Mockito

Mobile Money Transfer App

https://aircash.eu/
A financial application for money transfer between people, depositing, and withdrawing from partner companies and telecom accounts.

The app was written in Kotlin, using the MVVM architectural pattern (Android architecture components—ViewModel/LiveData) in conjunction with dependency injection (Koin) to ensure maximum testability. Threading was done using Kotlin Coroutines, and unit tests were written using a combination of JUnit/Mockito. Builds run through a continuous integration pipeline on GitLab that includes static analysis checks (lint, detekt) and unit tests.

Internal News App for a Global Engineering and Consulting Company

For this project, I implemented OAuth, push notifications, and social media sharing.

Per the client's requirement, I implemented fetching encrypted articles from the API and decrypted them in the app using the AES encryption algorithm

Technologies and Tools: Android SDK, Kotlin, Retrofit, DBFlow, JUnit, Espresso

Education

2015 - 2017

Master's Degree in Software Engineering

University of Applied Sciences - Zagreb, Croatia

2012 - 2015

Bachelor's Degree in Software Engineering

University of Applied Sciences - Zagreb, Croatia

Skills

Libraries/APIs

REST APIs, Retrofit, Retrofit 2, RxJava 2, Android Architecture Components, RxJava, OpenAI API, React

Tools

Git, Android Studio, Jira, Charles Proxy, Gradle, Claude, Claude Code, Zeplin, Figma

Languages

Java, Kotlin, XML, Dart, SQL, Swift

Frameworks

JUnit, Mockito, Android SDK, Flutter, Ktor, Dagger 2, Rx, Dagger, KOIN, Spring Boot, Next.js, React Native

Paradigms

REST, Agile Software Development, Unit Testing, Clean Architecture, Model View Presenter (MVP), Dependency Injection, Offline-first Development, Mobile Development, Cross-platform, Model View ViewModel (MVVM), Mobile App Design, Continuous Integration (CI)

Platforms

Android, Mobile, Firebase, iOS, OS X, Bluetooth Low Energy (LE)

Storage

SQLite, JSON, PostgreSQL, MySQL, Realm, Cloud Firestore

Other

Mobile Apps, Third-party SDK Integration, Coroutines, OkHttp, Mobile App Development, Cross-platform App Development, Software Architecture, Google Play Store, Third-party APIs, Application State Management, Bug Fixes, User Authentication, Push Notifications, Encryption, Performance Optimization, Code Auditing, SDKs, GitFlow, Kotlin Multiplatform Mobile (KMM), Kotlin Multiplatform, App Store, Exercise & Fitness, AI Integration, OpenAI, Location Services, Location Tracking, CI/CD Pipelines, Technical Leadership, Jetpack Compose, Software Engineering, Web Development, Website Design, Software Development, Full-stack

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