Scroll To View More
Mehedi Hasan Khan

Mehedi Hasan Khan

Dhaka, Dhaka Division, Bangladesh
Member since September 26, 2013
Mehedi is a top senior software engineer with a B.Sc. in computer science and engineering and a specialization in mobile app-centric ecosystems. With over five years 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 kernel, Java, Swift, Kotlin, Scrum, clean architecture, and more.
Mehedi is now available for hire
Portfolio
  • Freelance
    Android, Java, iOS, Swift, SQL, C#, XML, PHP
  • 1stScreen
    Java, Swift, Android, iOS, Maven, Cocoapods, Gradle
  • Credntia
    Android, iOS, Firebase, Parse, Encryption, OpenCV, Java, Swift, Go, JWT...
Experience
  • Java, 6 years
  • Android, 5 years
  • Git, 5 years
  • Software Architecture, 4 years
  • iOS, 4 years
  • Agile Software Development, 3 years
  • Machine Learning, 1 year
Dhaka, Dhaka Division, Bangladesh
Availability
Part-time
Preferred Environment
Android Studio, Xcode, Eclipse, AppCode, Mac OS X
The most amazing...
...thing I've developed is an identity management app called Credntia, which can identify and scan identification documents using the device's camera.
Employment
  • Independent Android/iOS Developer
    2011 - PRESENT
    Freelance
    • Developed an Android-based taxi booking system with two separate Android apps and a database server based on a RESTful API. Passengers were able to search for nearby taxis and filter by type of car available as well as select from nearby places of interest (e.g., airports, train stations, hotels, restaurants) or designate a location on a map as their target destination. After sending out their request, taxi drivers would then be notified via push notification, which would include the details of the request and the option to accept or decline. If accepted, the passenger would be notified by push message and a live route to the pickup location would be sketched on a map, which would track the locations of both the driver and the passenger. The pair could also communicate by sending messages through the app. Finally, passengers could pay through the app using PayPal or credit card as well as rate the driver's service at the end of the ride.
    • Developed an Android app for a courier delivery company, which connected to a central server through a RESTful web service. The app was used to track the delivery of packages and send reports back to the server. Supervisors could track deliveries and review delivery reports through an online control panel. In addition, a digital signature verification algorithm was implemented as part of the job.
    • Developed an Android app for finding childcare services. Users were able to perform location-based searches, read client reviews, and contact childcare centers, all through the application. Further, the app provided driving directions and real-time navigation to childcare centers, as well as the ability to both review childcare centers and report their services to local authorities, if necessary.
    • Implemented several image warping algorithms on Android, including bulge effect, explosion, implosion, etc.
    • Developed an Android app for budget tracking and automatic budget population which would take in data input from the user (e.g., location, profession, income, expenses) and generate a suggested budget using statistical data that would both keep the user's constraints in mind and maximize savings.
    • Developed an Android app which allowed users to search for party venues based on their current locations. Included such functionality as: filtering search results based on distance, cost, and user ratings; adding new venues to the app's database; earning credits after rating venues that are redeemable at said venues; and buying party credits or entry passes through PayPal or by credit card.
    • Developed an Android app for a private security company used by their security guards to report guard patrol activities, arrests, or incidents to their supervisors. Through GPS, barcode scanning, and advanced camera features, the app was able to ensure that the guards were patrolling as their duty required. Further, a desktop client, developed in C# .NET, was also provided to allow supervisors to view all data and reports generated by the app. Finally, the app allowed both guards to print traffic tickets and reports from the app using a Bluetooth printer, and supervisors to communicate and assign tasks to guards from their desktop through push messaging.
    • Utilized Git and JIRA for source control and issue tracking. Developed using MVC with Agile methodologies.
    • Developed an Android app which 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 certain time.
    Technologies: Android, Java, iOS, Swift, SQL, C#, XML, PHP
  • Senior Android/iOS Developer
    2017 - 2018
    1stScreen
    • 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 in Java for Android and in Swift for iOS to be used by developers to collect numerous kinds of analytics data, with device data collection made easy and a default fallback strategy for cases when hardware or permission might be unavailable.
    • Deployed and released the Android SDK to a private Maven repo so that only the authorized developers can access the SDK.
    • Deployed and released the iOS SDK to a private Cocoapods repo so that only the authorized developers can access the SDK. The library is distributed as a binary.
    Technologies: Java, Swift, Android, iOS, Maven, Cocoapods, Gradle
  • Lead Engineer
    2016 - 2018
    Credntia
    • Led the planning, architecture, development, scaling, and deployment of the Android and iOS apps.
    • Chose a new architecture for the iOS app for better performance as well as suggested new DBMS and security enhancement for proper encryption and protection of data.
    • Designed and implemented a new clean architecture for the Android app for better performance, stability, and scale. Used Dagger2 for dependency injection, RxJava, and reactive extensions for reactive programming support.
    • 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 public exposure.
    • Developed a new barcode scanner library for Android based on Google's Mobile Vision API.
    • Developed an OpenCV based mobile vision library that can detect ID documents (i.e., passport, driver’s license) in real time using the device camera.
    • Worked on achieving HIPAA compliance for the Android and iOS apps. Some changes had to be made to meet the business associate requirements for HIPAA. Made changes to terms and privacy policy visible to the user, made changes to acquire the consent of the user explicitly at the moment of scanning a medical ID. All sensitive data were protected with 256-bit AES encryption and stored locally. Data were uploaded to a secured server over HTTPS only after the user's consent, and the user could choose to delete all data from server or device at any time. Access to data was protected by 2 layers of security. First of all, the user had to log in with their username/password and then their local session would expire after a minute of inactivity (idle, switched to another app, turned the screen off, etc.). The user needed to enter their local passcode after session expiration to regain access to data, and the encrypted database would remain locked until successful passcode verification. Extra security measures were taken to blur images shown in the recent apps list so that no sensitive data would be exposed through those.
    Technologies: Android, iOS, Firebase, Parse, Encryption, OpenCV, Java, Swift, Go, JWT, RxJava, RxSwift, Fabric, Mixpanel, Realm, Dagger
  • 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: Java, Swift, Android, iOS, PHP, CodeIgniter, MySQL, Google Maps API, Location APIs, Zooz API, Facebook API, SqLite, REST, Cache, Image Processing
  • 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: Android, iOS, Java, Objective-C, REST, SQLite, Google Maps, Geolocation APIs, PayPal API
  • 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: Android, Java, OpenGL ES, Regular Expression, REST, SQLite, Google Maps API, GPS
Experience
  • Credntia (Development)
    http://play.google.com/store/apps/details?id=com.credntia.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.

  • PartyLife (Development)

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

  • Handup (Development)

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

  • Cabeze Taxi (Development)

    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 (Other amazing things)
    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 (Other amazing things)
    https://github.com/Credntia/CVScanner

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

  • StepBuilder Generator (Other amazing things)
    https://plugins.jetbrains.com/plugin/8276-stepbuilder-generator

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

  • MVBarcodeReader (Other amazing things)
    https://github.com/Credntia/MVBarcodeReader

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

  • Barnc (Development)

    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 (Development)

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

  • Astraea - Law Farm Management System (Development)

    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 (Development)

    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 (Development)

    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
    SQL, Swift, Java, GraphQL, JavaScript, Kotlin, C++, C, C#, Objective-C, CSS, PHP, Python, HTML
  • Frameworks
    ReactiveCocoa, MapKit, iOS SDK, Android SDK, Cocoa Touch, Spring Boot, .NET, Core Data, Machine Learning, Dagger 2, Django, Spring Android, CodeIgniter
  • Libraries/APIs
    Google Gson, REST API, Facebook API, Jackson, CocoaPods, Google Maps, Protobuf, Reactive Extensions, OpenCV, ActionBarSherlock, Google+ API, OpenSSL, PayPal API, Twitter API, JavaMail, NineOldAndroids
  • Tools
    Xcode, Git, GitHub, Gradle, Android Studio, BitBucket, Eclipse IDE, Visual Studio, IntelliJ IDEA, AppCode, Adobe Photoshop, JIRA
  • Paradigms
    Object-oriented Programming (OOP), Design Patterns, REST, SOLID Principles, Reactive Programming, Model View Controller (MVC), HIPAA Compliance, Functional Reactive Programming, Unit Testing, Agile Software Development, Socket programming, Waterfall Development
  • Platforms
    Android, iOS, JSE, NetBeans, Oracle, Windows 7, Ubuntu, Windows, Java EE, Arduino, Microsoft Windows Mobile, Linux, Java ME
  • Storage
    Realm, SQLite, Cache, Oracle PL/SQL, MySQL, Database Modeling, Datacom, Microsoft SQL Server
  • Other
    Multithreading, Data Structures, Software Architecture, XMPP, UI Kit, RESTful Web Services, Social Network Integration, User Experience (UX), Algorithms, Reactive Streams, ejabberd, Cryptography, Mobile Security, Computer Vision, OAuth, Security, VoIP, Apache Commons, Network Programming, Deep Learning, AI Programming, RDLC+ReportViewer, SOAP, Artificial Intelligence (AI), Game Development
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
    JANUARY 2017 - DECEMBER 2018
    British Council
I really like this profile
Share it with others