Hossain Khan

Passionate Android engineer and curious tinkerer. 🇨🇦🍁📱🏞️🍔📸🏖️🎧

97 followers105 following30 stories

Longform Stories

Better Kotlin syntax highlighting on Zensical with Shiki

I replaced default Kotlin highlighting on my Zensical site with Shiki for cleaner tokens, better modern syntax support, and smooth light/dark theming.

May 29·1 min read·30 words

Syntax Highlighting on Android - Highlight.js as a Native Compose Engine

A source code syntax highlighting library for Jetpack compose that leverages existing Highlight.js in a hidden WebView and converts the output to native AnnotatedString for real text selection and acc…

May 9·1 min read·41 words

Syntax Highlighting on Android - Bringing Shiki Engine to Compose

How I explored Shiki-quality syntax highlighting in Jetpack Compose - server-driven via Cloudflare Workers and on-device via TextMate grammars, no WebView needed.

Apr 19·1 min read·32 words

Adding a Free AI Assistant to Your Blog with Cloudflare Workers AI

How I added an AI post summarizer and Q&A assistant to my blog using Cloudflare Workers AI - and used AI Gateway to keep it mostly free.

Apr 11·1 min read·39 words

Moving away from Medium to self-hosted blogging for good

An adventure to setup my own blogging site using Astro and Cloudflare Workers.

Apr 5·1 min read·22 words

My Essential macOS Apps in 2026

List of essential macOS apps I use in 2026 for productivity and development.

Apr 5·1 min read·19 words

How to Deploy GitHub’s Spark App to Cloudflare Workers

GitHub’s Spark is a fantastic starting point for building modern React applications that use spark-template as a starting point. Once you…

Sep 28·1 min read·30 words

Fixing GitHub Coding Agent’s Firewall Issue for Android Projects

If GitHub coding agent is having an issue downloading artifacts from a different URL, consider adding them to the allow list to fix those issues.

Aug 3·1 min read·34 words

‘Vibe Coding’ to ‘Blind Coding’ 😎

Exploring the limits of AI-assisted development through a bold experiment: build a JSON5 lib in Kotlin by blindly trusting AI-generated…

Jun 11·1 min read·26 words

Using AI to build modern Android apps - are we there yet?

Assisted coding is very promising and fun! Fully autonomous app building might not be too far away! 🤓

Feb 18·1 min read·30 words

Android remote logging to Airtable using Timber

Have you ever needed to save your Android Logcat logs for later analysis? You can achieve this using Timber and a service that has REST API

Sep 10·1 min read·33 words

How to update a Docker Container using Portainer

ℹ️ This is part of the self-learning log as I explore Docker and Portainer.

Aug 10·1 min read·22 words

Using SQLDelight 2.0 with PostgreSQL for JVM

How to create data source to connect to PostgreSQL database and work with SQLDelight 2.0

Sep 6·1 min read·22 words

Kotlin coroutines error handling strategy - `runCatching` and `Result` class

Use Kotlin’s standard function `runCatching` API to handle errors from standard or coroutines functions.

May 2·1 min read·24 words

Quick Trick - Use Android’s Animated Vector Drawable as ProgressBar

Trick on how to create Android custom indeterminate progress bar behaviour using ImageView and Animated Vector Drawable

Aug 6·1 min read·27 words

Source code syntax highlighting on Android - Taking full control

Tips on how to take full control and create your own custom-view to add syntax highlighting support in your Android app.

Jul 18·1 min read·31 words

Dark mode for medium.com - why doesn’t it exist (yet)?

Medium has launched a sister site called MOMENTUM that is in dark mode. Here I talk about how you can possibly have dark-mode now.

Jul 5·1 min read·34 words

Setup Android Gradle based Firebase App Distribution with GitHub Actions CI

A quick guide on how to set up GitHub Actions CI workflow to automatically post APK to Firebase App Distribution from your Android project.

Jun 16·1 min read·35 words

Hackathon: Creating the simplest Muzei Wallpaper plugin for Android

A short article showcasing how to build Muzei Live Wallpaper plugin for Android using two simple steps.

May 24·1 min read·26 words

Use node.js tools on GitHub actions CI workflow

On April 14th, 2020 GitHub announced a major change in their plans to allow free private repositories. It’s a good time to make use of…

May 23·1 min read·33 words

How to take your beginner Android skills to the next level by studying open-source Android Apps

Article contains list of Android Open-Source apps that are fully featured and ideal for learning different techniques.

Apr 2·1 min read·33 words

Clickable link text for Android TextView - Kotlin Extension

Recently I have had to create UI that required user tappable/clickable text in the same text view. I know this is kind of unusual as the…

Jan 2·1 min read·35 words

How to be an Android Developer with just 7 taps. Deep Dive 🔎

In the past few years, the Android ecosystem has exploded with lots of tools, libraries, and architecture guidelines. Recently, with I/O…

May 21·1 min read·34 words

Create your own mock API server with Express.js and Firebase for free!

Recently I had to prepare a complete mocked server for an app I worked in the past. The reason mocking was required so that app’s…

Mar 13·1 min read·37 words

Using custom domain for GitHub pages

Recently I decided to host my personal portfolio site using GitHub pages. Even though they have very detailed instruction on how to setup a…

Jan 19·1 min read·30 words

Why I am returning my Google Pixel 2 XL

Disclaimer: This is my personal experience with the device. The opinions expressed in this article are mine only. I am not affiliated with…

Nov 21·1 min read·32 words

The most expensive LIE!

What is the most expensive lie that you are aware of?

Jul 18·1 min read·15 words

Impact on Android dex limit when using Kotlin

I’ve been following Kotlin for a while, and after Google I/O 17 announcement it became the officially supported language for Android.

Jul 18·1 min read·29 words

Travis CI script for your Swagger/OpenAPI Specification

Recently I have been working with swagger in a project. Swagger 2.0 has become an open standard and now referred to as OpenAPI Specification…

Aug 21·1 min read·31 words

Helpful Android apps for Developers

During development I have come across some apps which are very helpful and worth sharing with the community.

Jul 14·1 min read·23 words