Anatomy of the System Bars: Status Bar and Navigation Bar in Flutter, Jetpack Compose and SwiftUI
Article

Anatomy of the System Bars: Status Bar and Navigation Bar in Flutter, Jetpack Compose and SwiftUI

I have had App Store submissions rejected over status bar contrast. How the status bar, the navigation bar and the home indicator work, what edge-to-edge changed on Android, and how to configure each bar in Flutter, Jetpack Compose and SwiftUI.

Read article
Why Your API Key in Mobile Apps Needs to Be Restricted (Even When It Looks Like It Doesn't)
Article

Why Your API Key in Mobile Apps Needs to Be Restricted (Even When It Looks Like It Doesn't)

I pulled two working Google Maps API keys out of mobile apps in under a minute, both with no restrictions at all. Both reports were closed as Informative on HackerOne. Here is the extraction with apktool, the endpoint validation, and the three layers that actually fix it.

Read article
Account Takeover in Mobile Apps: How a Deep Link Became a Major Attack Vector
Article

Account Takeover in Mobile Apps: How a Deep Link Became a Major Attack Vector

A deep link that accepted any URL opened my page inside a WebView, and the native bridge handed over the user's JWT without checking the origin. From reverse engineering to the PoC, the bug bounty report and what to fix.

Read article
Creating an AI Agent in Claude Code to Control my Smartphone
Article

Creating an AI Agent in Claude Code to Control my Smartphone

Automating Android app documentation and testing with an AI agent in Claude Code, wired to an MCP server that drives a real device over ADB.

Read article
Creating Apps for Android Wear OS with Jetpack Compose
Article

Creating Apps for Android Wear OS with Jetpack Compose

A practical guide on how to develop apps for Android Wear OS using the modern Jetpack Compose toolkit.

Read article