Mehedi Hasan Khan, Software Architecture Developer in Dhaka, Bangladesh
Mehedi Hasan Khan

Software Architecture Developer in Dhaka, Bangladesh

Member since November 13, 2013
Mehedi is a top senior software engineer with a B.Sc. and M.Sc. in computer science and engineering, specializing in mobile app-centric ecosystems and an inquisitive mind. With close to a decade of experience designing, architecting, and developing native Android and iOS apps, he has expert knowledge of the Android/iOS operating systems and their underlying Linux/Unix kernels, Java, Swift, Kotlin, Scrum, clean architecture, and more.
Mehedi is now available for hire

Portfolio

  • Duolingo
    RxJava, Lottie, Android, Kotlin, REST, Clean Code, Agile Software Development...
  • iVerified
    Tesseract, Core ML, OpenCV, Swift, Java, iOS, Android, Android SDK, iOS SDK
  • A0Paper Inc.
    Gradle, CocoaPods, Maven, iOS, Android, Swift, Java, Android SDK, iOS SDK

Experience

Location

Dhaka, Bangladesh

Availability

Full-time

Preferred Environment

MacOS, Xcode, Android Studio, Linux, Agile Software Development, Android, iOS, IntelliJ IDEA, Jira, Git

The most amazing...

...app that I have helped to build is called Zero, a revolutionary fasting and healthy living companion that's loved by millions.

Employment

  • Software Engineer

    2019 - 2019
    Duolingo
    • Developed new features specifically targeted to users in China—for example, user signup via WeChat, share via WeChat and earn rewards, etc.
    • Created A/B tests to battle-test new features, UX changes, optimizations, etc.
    • Wrote custom UI components—for example, a UI widget that can take country code and phone number input, validate it on the fly, and then transform it for verification code input.
    • Implemented fluid animations with Lottie, and optimized animation loading, replay, and memory footprint.
    • Examined memory usage to find possible optimization points, memory leaks, etc., and fixed them.
    Technologies: RxJava, Lottie, Android, Kotlin, REST, Clean Code, Agile Software Development, Android SDK
  • Android/iOS Developer

    2018 - 2018
    iVerified
    • Improved the scanning of physical identity documents using the device camera by optimizing the detection and processing pipeline.
    • Used OpenCV and machine learning to detect ID documents better and classify the data.
    • Used Tesseract to extract data from image segments.
    • Designed and implemented a two-way data sync process, ensuring that the documents and verification data were securely kept in sync between the server and the apps.
    • Set up continuous deployment (testing, building, signing, and releasing) with Fastlane and a remote Jenkins server.
    Technologies: Tesseract, Core ML, OpenCV, Swift, Java, iOS, Android, Android SDK, iOS SDK
  • Senior Android/iOS Developer

    2017 - 2018
    A0Paper Inc.
    • Wrote SDKs in Java and Swift for Treasuredata based on their official SDK. Improved local caching, optimized memory usage, added scheduled batch uploads in the background, and improved the fluidity of the API.
    • Wrote the 1stScreen SDK for Android (Java) and iOS (Swift) to help collect numerous analytics data, with device data collection made easier and a default fallback strategy for cases when hardware or permission might be unavailable.
    • Deployed and released the Android SDK to a private Maven repository so that only authorized developers could access the SDK.
    • Deployed and released the iOS SDK to a private CocoaPods repository so that only authorized developers could access the SDK. The library is distributed as a binary.
    • Built a reusable ad component that could be embedded in-app content and reveal itself upon scrolling as per the set criteria.
    Technologies: Gradle, CocoaPods, Maven, iOS, Android, Swift, Java, Android SDK, iOS SDK
  • Lead Engineer

    2016 - 2018
    Credntia
    • Led the planning, architecture, development, scaling, and deployment of the Android and iOS apps.
    • Chose a new architecture (VIPER) for the iOS app for better performance and suggested new DBMS and security enhancement for proper encryption and data protection.
    • Designed and implemented a new clean architecture for the Android app for better performance, stability, and scale. Used Dagger 2 for dependency injection, RxJava, and reactive extensions for reactive programming support.
    • Worked on achieving HIPAA compliance for the Android and iOS apps. All sensitive data were protected with 256-bit AES encryption, stored locally, and covered with two layers of authentication-based security.
    • Worked with the team to design data structure and infrastructure for the Parse and Firebase (later) back end.
    • Worked with the team to design a secured REST API for third parties.
    • Developed a new barcode scanner library for Android based on Google's Mobile Vision API, especially for reading PDF417 barcodes more accurately and faster than ZXing.
    • Developed an OpenCV-based mobile vision library that can detect ID documents (e.g., passport and driver's license) in real-time using the device camera.
    Technologies: Dagger, Realm, Mixpanel, Fabric, RxSwift, RxJava, JSON Web Tokens (JWT), Go, Swift, Java, OpenCV, Encryption, Parse, Firebase, iOS, Android, Mobile Payments, Android SDK, iOS SDK
  • Lead Engineer

    2015 - 2017
    PartyLife
    • Did requirement analysis with the founders and made a detailed technical specification.
    • Designed the system architecture and defined the infrastructure components based on the requirements and business goals.
    • Wrote a detailed specification for the required back-end service and led the web team to build a robust REST API.
    • Developed the native Android and iOS apps with social features like profiles, messaging, search, etc.
    • Designed the continuous development, internal testing, and deployment pipeline for continuous improvement of the platform.
    Technologies: Image Processing, Cache, REST, SQLite, Facebook API, ZOOZ API, Location Services, Google Maps API, MySQL, CodeIgniter, PHP, iOS, Android, Swift, Java, Mobile Payments, Android SDK, iOS SDK
  • Independent Android/iOS Developer

    2011 - 2017
    Freelance
    • Developed an Uber-like taxi booking system with separate apps for drivers and passengers. Riders could filter locally available cars based on their types and features, communicate with drivers in real-time, and pay with a card for the ride.
    • Developed an Android app used to facilitate and track the delivery of packages. Delivery reports were digitally signed, and a web dashboard provided tracking, verification, and review capabilities.
    • Developed an Android app for finding childcare services. Users could perform location-based searches, read client reviews, and contact childcare centers. Further, the app provided driving directions and real-time navigation to childcare centers.
    • Implemented several image warping algorithms on Android, including bulge effect, explosion, implosion, etc.
    • Developed an Android app for budget tracking and automatic budget population, using user data (e.g., location, profession, income, budget, and expense history) and statistical models to generate an optimal budget for maximizing savings.
    • Developed an Android app for a security company facilitating reporting and supervision of guard patrol activities, routes, arrests, or incidents. GPS and cameras were utilized to capture important location and incident data.
    • Utilized Git and Jira for source control and issue tracking. Developed using MVC with Agile methodologies.
    • Developed an Android app that allowed users to take or upload photos and apply basic filters before sharing them on Facebook and Twitter. Further, users could schedule their posts to upload at a particular time.
    Technologies: PHP, XML, C#, SQL, Swift, iOS, Java, Android, Agile Software Development, Git, Maps, Geolocation, Payment APIs, XMPP, Mobile Navigation, PKI, Data Encryption, Camera API, Bluetooth, Mobile GPS, REST
  • Lead Android/iOS Developer

    2013 - 2015
    Cabeze
    • Developed Android and iOS apps for an Uber-like service. Developed both driver and passenger apps.
    • Developed innovative UI libraries (sliding drawers, floating views, etc.) to build a modern yet smooth user experience.
    • Utilized Google Maps API and device's GPS for optimized turn by turn driving navigation and ETA calculation.
    • Developed, tested, and optimized data refresh strategy for maps to provide an almost real-time experience.
    • Developed, tested, and optimized a push- and pull-based communication strategy between driver and passenger apps to ensure a smooth overall experience.
    • Integrated payment gateways, e.g., PayPal and credit/debit cards.
    Technologies: PayPal API, Geolocation, Google Maps, SQLite, REST, Objective-C, Java, iOS, Android, Mobile Payments, Android SDK, iOS SDK
  • Android Developer

    2013 - 2013
    Handup
    • Developed a collaborative voting app for secure voting.
    • Developed a text input control based on Edittext that could identify, categorize, and validate entered text using regular expressions and showed added items as chips (https://material-ui.com/demos/chips/).
    • Developed a UI widget that allowed the user to drag and drop the items, e.g., voting options, to reorder and merge in order rank the options.
    • Wrote a horizontal bar chart widget and a pie chart widget to show voting statistics in an interactive way.
    • Developed a statistical ranking algorithm and implemented that for ranked votes.
    • Used geofencing for notifying users when they are in a designated voting location. Used GPS and other location APIs to filter ongoing location-based votings.
    Technologies: GPS, Google Maps API, SQLite, REST, Regular Expressions, OpenGL ES, Java, Android, Android SDK

Experience

  • Credntia

    Credntia is the missing piece of your digital wallet. The app can scan identification documents (driver’s license, passport, etc.) and store them securely. Computer vision and OCR are used to scan the documents. 256 bit AES encryption is used to keep all local data secured.

  • iVerified

    The ultimate free, simple, safe, and reusable identity and age verification app for Android and iOS.

  • PartyLife

    I developed the Android and iOS apps for the social dating platform for party lovers called PartyLife.

  • Handup

    I developed the Android version of the collaborative voting and decision making app called Handup.

  • Cabeze Taxi

    This taxi booking system consists of two Android apps: one for the passenger, and another for the driver. Passengers can search for nearby taxis by choosing pickup and destination locations. The search results can be filtered by car type. After a client sends out a request, nearby taxi drivers are notified through the app, after which they accept or decline the request. Upon acceptance of the job, the passenger is granted access to information about the driver and can view the driver's progress in real time using live navigation on a map. Both the passenger and the driver can communicate with each other via the app. Finally, the passenger can pay through the app by credit card or with PayPal, as well as rate the driver's service.

  • Secured Preference Store
    https://github.com/iamMehedi/Secured-Preference-Store

    A cryptography library and a SharedPreferences wrapper for Android that encrypts the content with 256 bit AES encryption. The Encryption key is securely stored in device's KeyStore.

  • CVScanner
    https://github.com/Credntia/CVScanner

    An OpenCV based library for Android to scan ID documents or passports.

  • StepBuilder Generator
    https://plugins.jetbrains.com/plugin/8276-stepbuilder-generator

    IntelliJ IDEA/Android Studio plugin to generate a builder class following the Step Builder pattern.

  • MVBarcodeReader
    https://github.com/Credntia/MVBarcodeReader

    A barcode scanner library for Android. Uses the Google Play Services' mobile vision API for barcode detection.

  • Barnc

    This is a complete data backup and social business platform. The Android app lets you back up all your device data, i.e., contacts, photos, media, etc., to its own server or Dropbox/Box/Onedrive. The user can create a business profile along with digital business cards and then share those cards or any other media from within the app with his business associates. There is also a real-time text, audio, and video chat system through which the user can conduct meetings.

  • Automated Budget Planner

    Generates budget proposals based on user income and expense data, with the help of statistical data from a database.

  • Astraea - Law Farm Management System

    A distributed database system developed in C# using .NET Windows Forms and an Oracle DB. The software provides a system for law firms to manage case files and client information. Administrators can assign cases to groups or individuals through the system and keep track of case progress. Further, the software includes an accounting system to track the firm's payments. The system has a public notice board as well as an internal messaging system. Additional discussion threads can be opened for any issue. Finally, a scheduling system was also implemented for members, clients and cases, which notifies respective parties via email and SMS when a task is scheduled.

  • Childcare Finder

    This Android app provides information about childcare or day care facilities. Users can search for nearby facilities by address, postcode, or a location chosen on a map. Reviews of each service provider are also displayed, as well as driving directions to a chosen facility. In addition, users can rate or review service providers.

  • Social Automator

    This Android app enables users to post text or images to Facebook and Twitter from their device. Users can schedule certain text or images to be shared at a certain time through their Facebook or Twitter accounts.

Skills

  • Languages

    Kotlin, SQL, Swift, Java, JavaScript, GraphQL, C, C#, Objective-C, C++, XML, Go, Python, PHP, CSS, HTML
  • Frameworks

    ReactiveCocoa, Android SDK, iOS SDK, MapKit, UIKit, Core Data, Cocoa Touch, Dagger 2, Spring Boot, .NET, JSON Web Tokens (JWT), Dagger, CodeIgniter, Core ML, Spring Android, Django
  • Libraries/APIs

    Reactive Extensions, Google Gson, REST APIs, CocoaPods, Google Maps, Facebook API, Twitter API, PayPal API, Google+ API, Jackson, Protobuf, OpenCV, OpenSSL, ActionBarSherlock, RxJava, RxSwift, Fabric, OpenGL ES, Google Maps API, NineOldAndroids, JavaMail, Camera API
  • Tools

    Bitbucket, GitHub, Git, Xcode, Android Studio, Gradle, Jira, Eclipse IDE, AppCode, IntelliJ IDEA, Microsoft Visual Studio, Maven, Adobe Photoshop
  • Paradigms

    Reactive Programming, REST, Model View Controller (MVC), Object-oriented Programming (OOP), Agile Software Development, Design Patterns, HIPAA Compliance, Functional Reactive Programming, Socket Programming, Unit Testing, Waterfall Development, Agile, Management, Clean Code
  • Platforms

    iOS, JSE, Android, NetBeans, Windows, Ubuntu, Oracle, Eclipse, MacOS, Firebase, Parse, Mixpanel, Linux, Java ME, Java EE, Arduino, Windows Mobile
  • Storage

    Realm, SQLite, Database Modeling, Oracle PL/SQL, MySQL, Cache, Microsoft SQL Server, Datacom, Databases
  • Other

    Reactive Streams, Social Media Integration, User Experience (UX), SOLID Principles, Algorithms, Cryptography, Mobile Security, Data Structures, Software Architecture, XMPP, RESTful Web Services, Multithreading, Mobile Payments, Computer Vision, Ejabberd, VoIP, OAuth, Encryption, Geolocation, Regular Expressions, GPS, Location Services, ZOOZ API, Image Processing, Tesseract, Lottie, Deep Learning, Artificial Intelligence (AI), Machine Learning, Game Development, Network Programming, SOAP, RDLC+ReportViewer, AI Programming, Apache Commons, Programming, Operating Systems, Networking, Graphics, Discrete Mathematics, Computational Geometry, Software Engineering, Mathematics, Physics, Chemistry, Biology, English, Maps, Payment APIs, Mobile Navigation, PKI, Data Encryption, Bluetooth, Mobile GPS
  • Industry Expertise

    Security

Education

  • Bachelor of Science Degree in Computer Science and Engineering
    2008 - 2013
    Bangladesh University of Engineering and Technology - Dhaka, Bangladesh
  • Higher Secondary Certificate Degree in Science
    2005 - 2007
    Notredame College - Dhaka, Bangladesh

Certifications

  • IELTS
    AUGUST 2022 - AUGUST 2024
    British Council

To view more profiles

Join Toptal
Share it with others