I am an Android Developer with 5 years of experience in developing mobile applications for different types of businesses,
startups, and clients in various fields including fintech, healthcare, logistics, and more.
In my previous blog post, I introduced KMPNotifier, a Kotlin Multiplatform library designed to simplify local and push notification implementation across Android and iOS platforms using Firebase. I’m happy to share that it has now reached almost a quarter-thousand stars on GitHub! :). Since then, KMPNotifier has improved with...
[Read More]
Most developers, like myself, aim to earn money from our apps, and there’s a great sense of satisfaction in having that first paying customer. Recently, I considered adding subscription/in-app purchase features to my Compose+Kotlin MultiPlatform project, wanting a quick implementation without dealing with complexities of subscription.
That’s how easy is to authenticate users in your Kotlin Multiplatform project using KMPAuth library. KMPAuth is simple and easy to use Kotlin Multiplatform Authentication library targeting iOS and Android. Library supports Google, Apple, Github authentication integrations using Firebase.
In this blog post I will share with you how to implement Google Sign-In in Kotlin Multiplatform. As we go step by step, we will start simple, and we will end with an awesome Google Sign-In for both Android and iOS platform!
Before we dive into the coding adventure, let’s understand...
[Read More]
In this blog post I will share with you how to implement push notifications using Firebase in Kotlin Multiplatform (targeting iOS and Android platforms).
Push notifications play a crucial role in keeping users engaged and informed about important updates in your Kotlin Multiplatform (KMP) applications. While Firebase provides a robust platform...
[Read More]
In this article, I will walk you through my personal experience and the strategies I followed to successfully make my Android Quotes app to work on iOS too without writing any Swift code using Kotlin Multiplatform and JetBrains Multiplatform Compose🚀. At the end of the migration process, the Quotes app...
[Read More]
During the migration process of the Quotes project to KMM (Kotlin Mobile Multiplatform), I had to implement different classes for each platform, and I was using Koin for dependency injection.
One of such classes was NetworkHandler, which had a single method called hasNetworkConnection() that was checking network connectivity, and I needed...
[Read More]
Recently, I’ve been working on migrating the Quotes project to a multiplatform. During the migration process, I faced a problem with Timber logging library, which happens to be a favorite among Android developers. Unfortunately it doesn’t support multiple platforms yet, so, I needed to find another logging library that would...
[Read More]
In this blog, I will share my experience of migrating the Quotes App UI to Jetpack Compose. I will provide step-by-step guidance that you or I can use for my ongoing projects :). However, my focus will be on the challenges I faced during the refactoring process, rather than technical details....
[Read More]
I started a Quotes app using the MVVM architecture pattern. However, after learning about Clean Architecture, I decided to refactor the...
[Read More]
Skills
For Business Owners
One of the most valuable skills I have developed over the years is the ability to provide accurate time and cost estimations—two essential aspects of business—for projects.
Also, from a revenue perspective for the product, I have an experience with different business models, including in-app subscriptions, freemium, paid apps, and implementing ads within the product.
For Recruiter/Technical People
I develop with different Android Architecture Patterns (MVVM, MVP, Modularization, Clean Architecture)
using TDD (Test Driven Development) approach both in Kotlin and Java languages. I also have an experience with different technologies such as
Android Jetpack Components (Room, LiveData, ViewModel, ViewBinding, Navigation, WorkManager, and Pagination), Dependency Injection (Hilt and Koin), Ktor/Retrofit, as well as Coroutines/Flow and RxJava for asynchronous programming.
Currently improving my Kotlin Multiplatform and Jetpack Compose skills.
Testimonials
Gáspár Erőss
Android Team Lead
"Mirzamehdi is a very talented developer with great technical skills. He is able to take full responsibility on his tasks and deliver high quality products. He is always eager to improve himself and he is always up to date with the latest technologies."
"We hired Mirza for developing android application for medication delivery service. Mirza is valuable member and good team player. He is always on time with his tasks, highly productive and responsible person."
"I was impressed by his remarkable work speed. He worked like a thread, making it appear as the productivity of two individuals was merged into one (Mirza and Mehdi :D). Amazing teamwork!"
"Mirzamehdi is an outstanding Software Engineer, especially in his understanding of Android. He's eager to learn and try new tech, and he took charge of different tasks during our work, showing great leadership and getting things done."
"I had the pleasure of working with Mirza for about 1.5-2 years at Reseptron. He was the youngest and most positive member of our team. I was impressed by his eagerness to learn and use new technologies, tools and best practices to become better at what he does."
"His positive attitude, professionalism in his work, openness to innovations and selfless dedication are impressive. It was a pleasure to work with him."
"He is a great team player and is always willing to go above and beyond to deliver high-quality results and ensure the success of the project. Working with him was not only productive, but also enjoyable."
Contact Me
Feel free to reach out to me on LinkedIn or via the below form and let's make something great together 🚀.
EasyWay Taxi
EasyWay is taxi application! Real-time driver location tracking, instant push notifications, get fare estimates, review ride history, and rate drivers for transparency. EasyWay Taxi app supports multiple languages.
Currently Unavailable in Play Store
RabitaBank
Rabitabank is a mobile bank application that enables customers to perform different banking operations, such as, card-to-card transactions, checking balances, viewing statements, managing loans, mortgages, and other financial activities.
Reseptron allows patients to scan their prescriptions and send them to order in pharmacies across the country. The patient can send an e-prescription order by choosing from the pharmacy offers. User can get a medicine from either from a pharmacy or, delivery service is also provided.
Quotes app is my open source project that targets Android, iOS and Desktop platforms, and is developed using Kotlin Multiplatform, JetBrains Compose Multiplatform, App Modularization, Clean Architecture and other Jetpack Components and multiplatform libraries. Project is developed in TDD (Test Driven Development) style by writing Unit and UI tests.
Route4Me simplifies complex route planning by providing dynamic optimization, real-time tracking, and advanced analytics helping you save time and money for your delivery and logistics operations. Plan, optimize, and navigate the most efficient routes with ease, all in one intuitive platform. It also supports different screen sizes.
FindTravelNow is a metasearch travel application that is available both in AppStore and Google Play Store developed with Kotlin Multiplatform + Compose Multiplatform. I also published it as open source project in GitHub.
KAppMaker is a boilerplate code for making iOS and Android apps quickly. It uses Kotlin Multiplatform + Compose Multiplatform and helps you focus on what matters most in your app. Here are some features:
Cross-Platform Development: Build for both iOS and Android using Kotlin Multiplatform.
Pre-Built Authentication: Easy integration with Firebase and KMPAuth for Google and Apple sign-in.
In-App Purchases: Simple setup with RevenueCat for managing payments.
Push Notifications: Configured using KMPNotifier and Firebase for both platforms.
Navigation/Onboarding: Ready-to-use navigation using Voyager and onboarding screens to welcome users.
Dependency Injection: Uses Koin for a clean and scalable architecture.
CI/CD Integrations: GitHub Actions support for building and publishing to PlayStore and AppStore.