Android Developer with more than 5 years of experience, starting in 2020 as an intern. Later joined Daya Tadbir, delivering production-ready apps using Coroutines, Firebase, and modern Jetpack libraries. In 2023, transitioned to freelance and contributed to cross-platform apps using Kotlin Multiplatform. Currently part of the Igap Messenger team (1M+ users), focusing on large-scale Compose development, performance optimization, and Canvas-driven UI. Regularly share development insights through articles on Medium
This app, built using Kotlin and the MVVM architecture, leverages Android's recommended practices and Android Jetpack components for robust development. Key highlights of this project include:
•
Designed with the single-activity pattern
•
Implemented asynchronous programming with Coroutines
•
Streamlined streams with various Flows, such as StateFlow and SharedFlow
•
Crafted a custom date and time picker dialog from scratch, tailored to the overall app UI without relying on external libraries
•
Integrated Firebase and AppMetrica services for FCM, Crashlytics, and Analytics functionalities
•
Safely retrieved OTP verification codes without requiring specific permissions
•
Offered user-friendly dark and light modes
•
Collaborated with other developers, designers, and product owners
Navigation Component
ViewBinding
Coroutine
Flow
Room
Retrofit
Hilt
Google Play Services
Firebase
AppMetrica
QR-Code
WebView
Lottie
Single Activity
ViewBinding
Kotlin DSL
Biometrics
Encryption
Package Manager
PhotoView
Downloading Service
Coroutine
Flow
Retrofit
Room
Hilt
Navigation Component
This Kotlin-based application is constructed using the MVVM architecture, following Android's best practices and making the most of Android Jetpack. Key features include:
•
Downloaded Apps in concurrent or sequential
•
Integrated Biometrics for enhanced app security
•
Improved user experience with bilingual app interface
•
Enhanced user experience with dark and light modes
•
Optimized data retrieval with custom JsonDeserializer
•
Created efficient extensions via Kotlin's contract feature
•
Implemented asynchronous programming with Coroutines
•
Streamlined streams with various Flows, such as StateFlow and SharedFlow
My passion lies in educating and sharing knowledge, and I consistently endeavor to place all that I've learned at the disposal of others for helping and empowering anyone seeking guidance.
With this enthusiasm, I quickly ventured into the role of an active Android mentor at Maktab Sharif, alongside my primary career. It's a place where essential market-ready skills are delivered through practical, hands-on experience. Here are my key activities in this role encompass:
•
Guided and mentored passionate interns eager to dive into Android app development
•
Collaborated closely with the educational team to create and refine Android development course materials, enhancing learning experiences
•
Taught essential topics: Hilt, Room, Architecture, and Coroutine Flow
•
Performed live coding and built Android apps from scratch to release, providing a holistic grasp of the development process
•
Continuously assessed weekly and final projects to monitor interns' progress
•
Provided support through troubleshooting, continuous code reviews, and constructive feedback during the internship
Developed a feature-rich music player app closely resembling the intuitive functionality and design of Samsung's renowned music player using Java for Android. Key accomplishments include:
•
Designed a user-friendly interface with seamless navigation, ensuring an engaging music playback experience
•
Implemented features such as playlist management and favorite
•
Received positive feedback for the user interface and design
Created a dynamic e-commerce market app akin to DGKala, offering a comprehensive shopping experience, utilizing Kotlin for Android. Key achievements include:
•
Designed and developed a visually appealing and user-friendly marketplace app with features comparable to DGKala
•
Implemented functionalities for product search, product listings, user accounts, and more
•
Ensured a responsive and smooth shopping experience through optimized performance and intuitive navigation
Kotlin
Java
Media
Service
ViewBinding
Navigation Component
Coroutine
Retrofit
Room
Coil
Glide
The idea of having a personal website can be fascinating for anyone. It's a place where you can tell your career story and showcase your work samples. For Android programmers like us, learning web development might not sound very exciting initially, but with the arrival of Compose, it has become quite convenient to build your own personal website using Kotlin. A website with the following key features:
•
Crafted in Intellij Idea
•
Developed using pure Kotlin
•
Built with Compose
•
Enhanced by Coroutine
•
Powered by Kobweb framework
•
Multi-Page support
•
Fully responsive design (Mobile and Desktop)
•
Light and dark themes
While it may seem challenging, this is where Kobweb comes into play, simplifying the use of 'Compose for web' for developers by offering useful features. Kobweb is an opinionated Kotlin framework built on top of Compose HTML for creating websites and web apps. It includes everything you need to build rich, dynamic websites, as well as web applications, while being able to leverage the greater Kotlin ecosystem.
In Kotlin, context receivers provide a powerful mechanism to access and manipulate objects within a specific scope. This article aims to provide a comprehensive overview of context receivers, covering their benefits, usage, and limitations.
Read the full article on
MediumThis is a comprehensive guide that takes you on an immersive journey into the world of Android development and Kotlin programming. With over 350 pages of carefully crafted content, this book is your ultimate companion for mastering of asynchronous programming using Coroutine and Flow.
Here is a portion of the book:
DownloadHasan is an exceptional developer who possesses all the skills one would want in an excellent Android developer. His work is always outstanding, and he always goes the extra mile to ensure the coding standards and client requirements are met. He is a highly-skilled, experienced, and helpful professional with a positive attitude. Working with Hasan has been a great experience for me as I learned hard and soft skills from him. If anyone needs a great Android developer with professional experience or a clean coding lover in their team, I recommend him.
Hasan and I worked together on several projects, and I was lucky to call him my coworker. He is a highly-skilled and experienced with a positive attitude and is willing to put that extra help whenever you need him. Hasan is able to quickly learn and adapt to new technologies. He consistently gave 100 percent effort to the team and played a significant role in ensuring that we completed assignments on time. I’ve loved my experience working with Hasan, and I know that anyone looking to hire or work with him will, too.
Hasan has been working as an Android developer at our company for two years now. From Java and Kotlin to Dart, His work is always top-notch, and he is always welcoming to feedback and making improvements. He has been a great resource to my company, making timely deliveries and helping me nurture long-term relationships with my clients. As a manager, overall, Hasan was a pleasure to work with, and I have no qualms recommending him to anybody looking for an excellent Android developer.
All Android developers are aware that the world of Android has undergone significant and fundamental changes in recent years. This means staying up-to-date is crucial. As an Android programmer, I've always striven to learn new technologies in this field through continuous study, driven by my passion and dedication. I worked with various technologies and frameworks without bias.
In this journey, I had a short but fascinating experience with Flutter. However, my motivation, enthusiasm, and determination in Kotlin and Android native programming led me to achieve something significant in my career. This includes the publication of the "Kotlin Coroutine-Flow In Use" book in English, with over 350 pages, which will soon be available.
In addition to my professional career, I also worked as a mentor alongside dear friends who were just beginning their journey. Live coding, project and code reviews, assessing interns, and teaching the key topics such as Hilt, Room, Coroutine and Flow were valuable experiences I gained at MaktabSharif.
With the stability of Jetpack Compose, my work became even more enjoyable. The combination of Kotlin and Compose can attract any Android developer towards it. It's a sweet experience that I personally enjoyed. Having a personal website was an idea I had been contemplating for a long time, and finally, with Compose, I was able to bring that idea to life.
•
Passion for building responsive, fast, high-quality, and attractive Android applications
•
Advanced knowledge of Java and Kotlin
•
Proficiency and proven experience in asynchronous programming and multi-threading
•
Experience with dependency injection frameworks (Hilt, Koin)
•
Translate designs and wireframes into high quality code
•
Familiar with agile methodologies and jira Platform
•
Familiarity working with Flutter