Hello I'mHasan Zolfagharipour
Android Developer

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

Contact Me
Experience
Daya Pay

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

Read more about the Wallet

Single Activity

ViewBinding

Kotlin DSL

Biometrics

Encryption

Package Manager

PhotoView

Downloading Service

Coroutine

Flow

Retrofit

Room

Hilt

Navigation Component

Read more about the App Store
App Sore

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

Android Mentor

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

Internship
Music Player App:

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

Market App (DGKala-like):

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

Personal Endeavors
Portfolio Website Using Kotlin & Compose

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.

Publications
Articles
Comprehensive Guide To Kotlin Context Receiver

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

Medium
Books
Coroutine-Flow In Use Book

This 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:

Download
Recommendation

Hasan 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.

About Me
My Passage to Progress

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

Made withPowered by Kotlin Compose