Hossain Khan - Portrait

Hossain Khan

Software Engineer

Contact Me

About Me

I'm a passionate developer who always enjoys interesting projects and challenges. I love to work on the web, mobile, and related technologies. For the past decade, I have been working on various Android projects, from Streaming Media to e-Shopping to hardware integration for Smart Connected devices.

I’m always eager to learn and try new things and often take advantage of interesting or challenging opportunities that come my way. My recent projects include an app featuring police brutality reports in light of the 2020 Black Lives Matter protests as well as the Muzei wallpaper plugin app for my photography site.

Feel free to reach out to me for mentorship or consultation for any project or even non-project work.

Latest Projects


KGeoTimeline Project Banner Image

KGeoTimeline (Kotlin Library)

Kotlin library for parsing Google Location History (Timeline) data.

The `KGeoTimeline` library allows you to parse and analyze Google Location History data. It provides a sample app to demonstrate its capabilities.

  • Run the sample app in IntelliJ IDEA by opening the `sample/src/main/kotlin/Main.kt` file.
  • Read instructions in the `Main.kt` file on where to add the unzipped Google Location History data.
  • Use the library to generate data-points base on your need.

See the API Documentation for more details.

Run Sample App    Contribute on GitHub

GitHub PR Stats Project Banner Image

Github PR Stats (Experimental)

An experimentation using GitHub APIs to visualize PR stats for individual contributor and other team members.

The stats tool is created using Kotlin and leverages different GitHub API to collect information about Pull-Request (PR) made by author or PRs reviewed by the reviewer.

  • Able to show you PR statistics for PRs created by specific author/contributor of a repository
  • Able to generate CSV for the PR stats which can be used in Google Sheets or alike to generate charts

See known limitations

Test drive    Learn More

2020 Police Brutality Incidents during the 2020 George Floyd protests

2020 Police Brutality Incidents

An Android™ app that allows users to browse reported police brutality incidents during the protests of 2020 following the murder of George Floyd.

The "2020PB" app was created to share awareness of #BlackLivesMatter and #JusticeForJeorgeFloyd by surfacing all the incidents reported by the community that happened during peaceful protests for George Floyd's murder by law enforcement personnel.

All the community reported incidents are collected via 2020PB/police-brutality GitHub repository. The community is driven by r/2020PoliceBrutality/ reddit community.

Test drive the app    Contribute on GitHub

Music Discovery Smart Speaker Control

Smart home speaker companion app with modern all-in-one music discovery.

Built a smart speaker companion application which allows user to fully control the smart speaker using any Android phone or tablet. The app also provides one stop content discovery and playback solution using popular music services like Spotify®, Amazon Music, Deezer, Pandora®, SiriusXM, iHeartRadio™, TuneIn and so on.

The application is available internationally supporting 24 different languages

Some of the key feature of the app includes:

  • Control an manage one or more smart speakers in your home.
  • Allow multiple smart speakers to be grouped together for enhanced multi-room audio experience.
  • Add/remove popular music services like Spotify®, Amazon Music, Deezer, Pandora®, SiriusXM, iHeartRadio™, TuneIn and so on using one single app.
  • Integrates with cloud services to provide personalized and persistent services across multiple device form factors.

NOTE: Specific details is not available due to NDA

Barebone Skeleton App Banner

Android Barebone App

A barebone MVVM Android project with some essential tools configured the right way for 2019 ^_^

The application is Open Source and available in Github

Clone from Github

ConstraintLayout Demo App

ConstraintLayout Demo

A demo application for Android ConstraintLayout with various usage with sample code.

The application is Open Source and available in Github

Clone from Github    Available on Google Play™ (BETA Channel)

Daily Headlines - Android TV

Daily Headlines

"Daily Headlines" was created as result of personal need to check daily news headlines on TV rather than watching video clips from YouTube or other different source. This was also a personal experiment on creating Android TV application which is somewhat different than what Android TV applications are meant to be.

The application is Open Source and available in Github

Clone from Github    Get it from Google Play™

dubcandy™ - Companion app for video influencers.

dubcandy™ - Companion app for video influencers.

With dubcandy you can turn your videos into content that your viewers can buy from directly. When they buy, you earn revenue.

That is the power of shoppable videos and dubcandy gives you that right from your mobile.

UPDATE: The app has been taken offline, a snapshot of Google Play is available below.

Google Play™ (Historic Snapshot)    See App Demo Video

HOOQ.tv

HOOQ™ TV

HOOQ is a video on demand streaming service. HOOQ is Asia's first premium video-on-demand service to launch across the South East Asia and India.

HOOQ Android app allows you to watch over 10,000 movies and TV series ranging from the top Hollywood blockbusters, local box office hits and TV series same day as US telecast!

More on Google Play™

Optik TV®

Optik TV®

Optik TV® android app allows you to watch live and On Demand shows and movies on the go using your smartphone or tablet.

Some of the key feature of the app includes:

  • Enjoy many channels included in your subscription, including live news and sports.
  • Set recordings while you are out.
  • Choose from thousands of On Demand shows, series and movies.
  • Save favourites, watch trailers and view ratings.
  • Start a movie on your TV and pick up where you left off on your tablet.

More on Google Play™ Follow me at Mastodon

pen Source and Other Projects

SQLDelight 2.0 with PostgreSQL

A sample project exercising PostgreSQL with SQLDelight 2.0 on JVM This is an exploration of the official guide with the intention of filling in missing pieces.

See the sample

Yet NOT Another Android Syntax Highlighter (YNAASH)

Explore well established web based syntax highlighter like PrismJS and highlight.js, and showcase technique on how anybody can quickly incorporate these into their Android project by following some examples provided in this project.

See demo

Hangouts.json Parser - Kotlin

Kotlin based JSON parser for Google Takeout dump of Hangouts chats. It uses Moshi JSON library to model the JSON objects using kotlin classes and also uses SQLDelight library to insert parsed database into SQLite database for further analysis.

See example

Android Recycler View - Wrap Content

This is a sample android app which demonstrates `RecyclerView` wrap_content inside `ScrollView` issue on Marshmallow, Nougat and Oreo (API 23, 24, 25 & 26) and how to work around it.

See it in action

Medium.com API Specification

API spec for medium.com using OpenAPI Specification (aka Swagger 2.0). Generates PHP, Java, Python, Go, Android, Objective-C and many more client SDK.

Find out more

Android Tooltips UI Widget

Simple to use library for Android, enabling to add a tooltip near any view with ease.
Contributed to the library to provide maximum flexibility on styling TextView and animation. The new release with additional feature was packaged as v1.0.10

See changelog.

Mock API Server using Firebase

Created an example project to showcase how Firebase platform can be used to serve mocked API responses using Express.js and Firestore.

See mocked sample APIs

Miscellaneous Small Open Source Contributions

JakeWharton/adb-event-mirror - Mirror the touch/key/button events of one device onto one or more other devices in real-time

  • Reported Issue: Event forwarding did not work for same emulators #13

android/sunflower - A gardening app illustrating Android development best practices with Android Jetpack.

  • Pull-Request: Added Bengali translation for Sunflower app. #621

android/user-interface-samples - Multiple samples showing the best practices in the user interface on Android.

  • Pull-Request: People (bubbles): Fixed `ClassCastException` when trying to open `VoiceCallActivity` #188

romannurik/muzei - Muzei Live Wallpaper for Android

  • Reported Issue: Selecting image from `BrowseProviderFragment` only sets the wallpaper once #673
More on Github

Work Experience

Senior Software Engineer | Android - Slack LogoSlack Technologies, Inc. (2021 - Present)

Joined Slack to help them to do what they do best! making working life simpler, more pleasant & fun, and more productive. 🙌

Working with the Slack Platform Team to support over 1 million developers and 750,000+ apps that are used by millions of users every day.

Key responsibilities includes:
  • Developing user-centric and intuitive app interfaces using Slack’s UI framework, Block Kit.
  • Creating workflows and automations that streamline work processes and improve productivity using Slack’s Workflow Builder and App Home.
  • Leveraging Slack’s developer tools and APIs to connect with various apps and services, such as Google Calendar, Salesforce, Zoom, and more.
  • Testing, debugging, and deploying API updates for new Block Kit blocks and block elements.
  • Collaborating with other developers and stakeholders using Slack’s channels, threads, actions, and shortcuts.
Key Accomplishments
  • Actively participated in the Platform 2.0 initiative, specifically developed link trigger and shortcut implementation that allows customer to easily share and run 2.0 workflows from anywhere like channel, bookmarks, canvas and more.
  • Worked on brand new "File Input" block element feature that allows users to use file as input in the Block Kit and Slack App realm.
  • Organized recurring team mob sessions to improve code-base health and share knowledge among the team members.
  • Authored over dozens of wiki content for the Android Block Kit team to preserve and share the knowledge across team and organization.
Did you know?
  • Slack is a backronym and it stands for "Searchable Log of All Conversation and Knowledge".
  • Every weekday, Slack surpasses one billion usage minutes.
  • 9 hours is the time period an average user of Slack is signed in for.

Slack app on Google Play™

Platform Lead Engineer | Android - Kijiji Logo Canada, eBay (2019 - 2021)

Joined kijiji Android team to accelerate mobile product development and enhance end user experience.

  • Recently launched feature that allows users to review their buying or selling experience on Kijiji.
  • Built feature that allows Ad-ops to run campaigns for different period of time.
  • Held bi-weekly team meeting to keep everybody in the loop with industry standards and technologies that can help grow Kijiji and it's user base.
  • Improved application crash free user session rate from 97.81% to 99.92%.
  • Took initiative to create a proof of concept (PoC) for adding 🌗 dark mode support to the app.
  • Improved code quality and engineering experience by taking following actions:
    • Enabled lint checks on CI build after creating a baseline.
    • Enabled Kotlin code formatting lint checks on CI build.
    • Resurrected UI Unit test on Firebase Test Lab and Jenkins using Android emulator.
    • Added new Jenkins job to distribute CI builds using Firebase App Distribution.
    • Took initiatives to introduce proper code dependency injection using Dagger2 library.
    • Advocated for using consistent MVP pattern for newly developed features
    • Introduced use of MVVM architecture pattern into project that allows engineers to use latest lifecycle aware AndroidX libraries.
    • Added technical wiki for newcomers on application architecture, best practices, development & PR process and so on.
    • Proactively worked with the team to reduce Tech-Debt in the project. Some of recent initiatives includes - decomissioning obsolete A/B tests, upgrade build tools, migrate to R8 obfuscation tools, project wide standardized JSON serilization, applying consistent UI for common components, and many more.
  • Lead team to migrate app's API target level to Android 10, and currently working on targetting app to Android 11 to meet the Google's deadline of October 2021.
  • Participated in the company-wide hackathon and was placed 3rd 🥉
  • Participated in week long world-wide eBay Classifieds hackathon competing with 10 other teams consisting of members from 8+ countries. During COVID-19, our video conference like feature for classifieds seller to reduce in-person contact won the competition 🥇 that was selected by jury for most innovative, impactful and ready idea for current situation.
Did you know?
  • Four out of five Canadians (82%) participated in the second-hand economy in 2018, fuelling a $27.3 billion second-hand economy that has grown in size annually since 2015.
  • In 2018 alone, Canadians gave 2.4 billion items a second life - 250 million more items than in 2014.

Kijiji app on Google Play™

Sr. Android Engineer / Team Lead (Consultant) - Connected Inc. (2017 - 2018)

Created a complete solution for connected media device and a companion Android application to support device communication and media content discovery.

  • Used Kotlin & MVVM architecture to implement application features.
  • Added Realm for data caching and offline support.
  • Met with customer on-site and collaborated with their engineering team on different features.
  • Planned weekly sprint items and assigned resources among team.
  • Provided technical support to team members and product managers.
  • On boarded new hires and paired with them to ramp up on the project.
  • Collaborated with other platform team leads to discuss and finalize design and architecture of different core-components.
  • Reviewed code using GitHub and provided constructive feedback to be compliant with currently defined project standards.
  • Worked with Product Manager to plan and execute monthly releases to Google Play store.
  • Closely worked with QA team to address and clarify any application related issues
  • Created “Developer's Guide” wiki for key components of the app, consistently encouraged other team members to contribute to it.
Key Accomplishments
  • Successfully launched the feature complete companion Android app on time.
  • Improved crash free user session from 92% to 99.2% by constantly analyzing data from Crashlytics.
  • Reduced application size by 15% by using vector images and lightweight WebP image assets
  • Reduced 8% background battery consumption on the application by using Android platform's JobScheduler.

Platform Lead | Android - dubdub Inc. (2016 - 2017)

  • Worked with management to set priorities for upcoming releases and define stories accordingly
  • Worked with UI/UX team to refine app experience
  • Initiated weekly app improvement brainstorming meeting with the team and implemented material design patterns to make UX better.
  • Supported QA team for various activities including UI test automation
Key Accomplishments
  • Added automation script to reduce manual tasks that were required during day-to-day development.
  • Improved code coverage by 7% for core components.

Sr. Android Engineer | Team Lead - dubdub Inc. (2016 - 2017)

  • Worked with management to set priorities for upcoming releases and define stories accordingly
  • Worked with UI/UX team to refine app experience
  • Initiated weekly app improvement brainstorming meeting with the team and implemented material design patterns to make UX better.
  • Supported QA team for various activities including UI test automation
  • Architected android app using modern MVP pattern recommended by Google engineers. The pattern was strictly enforced among the team.
  • Participated in project planning, estimation and provided valuable feedback. Distributed planned tasks among team members
  • Participated in code review for features, bug fixes and other changes.
  • Designed API and translated API specification using OpenAPI Specification standard; formerly known as Swagger 2.0. The OpenAPI Specification contract was later used to generate rest-client library respective platforms.
  • Created wiki containing technical-guide, developers-guide, and release-guide for future reference.
  • Maintained Google Play store release cycles for Alpha, Beta and Production channels.
  • Setup continuous integration (CI) using BuddyBuild for each pull-request which builds dev, staging and production builds.
  • Constantly refactored code base to adhere to DRY principle.
  • Improved application's draw performance by reducing overdraw and optimizing view higherchy inside recycler view.
Key Accomplishments
  • Used APK analyzer to analyze APK, and optimized large image assets using WebP reducing the size by 19mb, which resulted over 58% savings on APK size.
  • Ran android lint tool, and reduced 36% of critical lint warning and errors for the project.
  • Maintained unit tests and improved code-coverage by 8% for newly added features.
  • Developed fully functional proof-of-concept Android TV(📺) app that uses same API and services for video content consumption.
  • Added automation script to reduce manual tasks that were required during day-to-day development.

Sr. Android Engineer - QuickPlay Media (2015 - 2016)

Worked with R&D android development team for current and future products.

  • Refactor and enhance existing library features, provide better solution where necessary.
  • Provide and update documentation with each release.
  • Build and maintain sample android application to showcase supported features.
  • Write unit tests, review peer-code and provide input if applicable.

Android Engineer - QuickPlay Media(2012 - 2014)

  • Managed, helped and guided team members to achieve sprint & project goals
  • Participate in daily scrum meetings and provide updates
  • Participate in development estimations for clients or PMs
  • Improve code-base by constantly refactoring or re-using established open-source software
  • Help different project on-demand, to fix production issue
  • Trained new hires to work on existing projects
  • Documented project standards and process in wiki
  • Collaborated with different team to gather requirements and implementation details
  • Worked on multiple PoC phase for different clients
Key Accomplishments
  • Released android app for major Canadian carrier which has support for LIVE and VOD video streaming on-the-go for Android phone & tablet. The application has been optimized to run on set-top boxes and Android TV. It has 100,000 - 500,000 install from Google Play store.
  • A live streaming application using propitiatory technology for a closed group of people. Worked with specific future devices that has this technology enabled.