# Mohsin Mohammed Blog

> Engineering writing by Mohsin Mohammed on Bluetooth, Flutter, wearables, and systems work.

Posts are also available as Markdown via `Accept: text/markdown` on the HTML URL, or at the `.md` sibling.

- [Our BLE Connection Was a Ghost. I Rebuilt It From Scratch.](https://mohsin.xyz/blog/our-ble-connection-was-a-ghost.md): How I rebuilt Omi's Bluetooth stack natively, killed off ghost connections, and stopped polling the radio every 15 seconds.
- [The Protocol Nobody Uses](https://mohsin.xyz/blog/the-protocol-nobody-uses.md): Why GATT is the wrong abstraction for BLE audio, and what L2CAP CoC gives you instead.
- [The Pendant That Refused to Die](https://mohsin.xyz/blog/the-pendant-that-refused-to-die.md): I paid 300 dollars for a wearable that went silent days before Meta acquired its maker. Reverse-engineering the BLE protocol and bringing it back to life.
- [How I got into GSoC 2024](https://mohsin.xyz/blog/how-i-got-into-gsoc-2024.md): My path to GSoC 2024: how I picked an org, wrote the proposal, and what I'd tell anyone applying.
- [Building Scalable Apps for Low Connectivity Areas](https://mohsin.xyz/blog/building-apps-for-low-connectivity-areas.md): Lessons from building an e-commerce app for rural users on patchy 2G/3G connections: payload budgets, offline-first state, and the choices that actually moved retention in Northern India.
- [Setting Up Core Lightning Node on an Ampere VM (OCI): A Comprehensive Guide](https://mohsin.xyz/blog/setting-up-core-lightning-node-on-an-ampere-vm.md): How to run a Core Lightning node on a free ARM VM without downloading the full Bitcoin blockchain.

## Sitemap

- [Home](https://mohsin.xyz/index.md)
- [Blog](https://mohsin.xyz/blog.md)
- [Mohsin Mohammed developer resources](https://mohsin.xyz/developers.md)
- [llms.txt](https://mohsin.xyz/llms.txt)
- [Markdown sitemap](https://mohsin.xyz/sitemap.md)
- [XML sitemap](https://mohsin.xyz/sitemap.xml)
