Ivan Kušt
Verified Expert in Engineering
Android Developer
Zagreb, Croatia
Toptal member since April 14, 2016
As a software engineer and mobile enthusiast, Ivan has invested time and resources into perfecting the development process and architecture of mobile apps. With experience in building large and security sensitive applications, he has developed analytical skills, wireframing and prototyping techniques, and coding best practices to develop quality and secure software.
Portfolio
Experience
Availability
Preferred Environment
Git, IntelliJ IDEA, Android Studio
The most amazing...
...software that I’ve made was a set of native and hybrid mobile banking applications, with security and testability in mind.
Work Experience
Freelance Android Engineer
Roomi (via Toptal)
- Worked as part of the remote Android team.
- Contributed to the improvement of the application architecture and made it testable.
- Implemented Google In-App Purchases.
- Integrated Stripe for payments.
- Set up Robolectric and Espresso testing frameworks with Jacoco coverage reports and added tests that were running on CI.
Freelance Lead Android Developer
Moneybox (via Toptal)
- Built an Android application for saving and investing in the UK.
- Mentored and worked closely with 2 junior Android developers.
- Worked with designers to provide smooth material design and ensure Android best practices.
- Set up unit tests using JUnit and the Robolectric testing framework.
- Implemented a small and simple physics engine for interactive animations on the main screen of the app.
Android Developer
Vollo
- Built an Android app for booking online bus tickets from various bus companies.
- Cooperated closely with back-end developers on defining RESTful APIs.
- Collaborated with designers to provide smooth material design and ensure Android best practices.
- Integrated payments in the app using Braintree SDK.
Android Team Lead
Infinum
- Coordinated and mentored junior Android developers.
- Gave a number of talks on Android meetups and at droidcon conference in Zagreb.
- Collaborated closely with back-end developers on defining RESTful APIs for mobile applications.
- Developed a few simple 2D mobile games for Android.
- Wrote Ruby and Shell scripts for generating boilerplate code.
- Worked on projects that used Bluetooth Low Energy and iBeacon.
- Handled and mentored small teams of Android developers.
Senior Android Developer
Infinum
- Developed applications and libraries for Android.
- Built a set of mobile banking products with emphasis on security (including mobile token integration), testability (Robolectric, Circle CI), and code reusability.
- Implemented critical security features for a mobile token solution (secure token data storage).
- Participated in setting up a continuous integration process in Jenkins and CircleCI.
- Worked closely with designers on creating and implementing designs that respect Android best practices.
Experience
Moneybox
https://play.google.com/store/apps/details?id=com.moneyboxappSome of the implementation challenges included:
· Implementing the functionality for taking pictures of users ID during registration process—storing and passing the picture to the back-end in a high-enough quality for verification proved to be a challenge on some phones.
· Implementing a simple physics engine for Android views to enable interactive animations on the main screen of the app.
· Dynamic UI forms that are generated depending on the response from the RESTful API.
To ensure maximum testability, applications were implemented using MVP architecture in conjunction with dependency injection (Dagger 2). Unit tests were written using the Robolectric test framework in combination with MockWebServer for mocking the networking layer.
Technologies: Android Studio IDE, Android SDK, Java
Vollo
Technologies: Android Studio IDE, Android SDK, Java, Braintree SDK
Five of the Largest Banks in the Croatian, Slovenian, and Serbian Market | Native App
To ensure maximum testability, applications were implemented using MVP architecture in conjunction with dependency injection (Dagger and Dagger 2). Unit tests were written using the Robolectric test framework in combination with MockWebServer for mocking the networking layer. Finally, a continuous integration environment was set up using Jenkins and Circle CI with both GItHub and Bitbucket repositories.
Technologies: Android Studio IDE, Android SDK, Java
One of the Largest Banks in the Croatian Market | Hybrid App
Technologies: Android Studio IDE, Android SDK, Apache Cordova, Java
Simple Android Games
Technologies: Android Studio IDE, Android SDK, Java
Android Tutorials
https://www.raywenderlich.com/u/ikustBlog Posts
https://infinum.co/the-capsized-eight/articles/securing-mobile-banking-on-android-with-ssl-certificate-pinningAndroid Certificate Pinning Example Project
https://github.com/ikust/hello-pinnedcertsSimple List Adapter Injection Library for Android
https://github.com/ikust/AbstractViewAdapterAndroid Shared Process Example Project
https://github.com/ikust/hello-sharedprocessEducation
Master's Degree in Information and Communication Technology
University of Zagreb, Faculty of Electrical Engineering and Computing - Zagreb, Croatia
Bachelor of Science Degree in Computer Software Engineering
University of Zagreb, Faculty of Electrical Engineering and Computing - Zagreb, Croatia
Skills
Libraries/APIs
Stripe, Google Maps, DBFlow, Butterknife, Retrofit
Tools
GitHub, Slack, IntelliJ IDEA, Android Studio, Git
Languages
Java, Kotlin, Groovy, Ruby
Frameworks
Android SDK, Robolectric, Dagger
Platforms
Android
Paradigms
Dependency Injection, Model View Presenter (MVP), REST
Storage
SQLite
Other
BrainTree, In-app Purchases, Intercom, GitFlow, EventBus, WebSockets, SOAP
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring