Claude + Mobile via MCP: Giving the Model Hands on a Real Phone I plugged in a Pixel two months ago, ran one command in Claude Desktop, and watched it open Maps and start navigation to my home address from a single sentence prompt. It was the first time I'd ever seen a language model physically operate a phone. Latency was about two seconds per action; the part that surprised me was the third st
AI-Native Mobile Testing: What It Actually Means in 2026 The phrase "AI-native" has been thrown around in the testing space since 2019. Almost every tool calling itself that just bolts a language model on top of Appium and ships the same brittle XPath selectors with a new label. That's not AI-native testing. That's Appium with a chatbot. This post is about what AI-native actually has to mean to
The Missing Control Plane for Local AI Agents I sat with my Pixel for 20 minutes trying to get Claude Desktop to dictate a Slack message via accessibility. It was miserable. The model was capable. The transport wasn't. That gap — between an AI that can reason and an AI that can actually do — is what I've been working on with Drengr. This post is the version of the argument I'd give to anyone bui
Flutter CustomPaint Deep Dive — Canvas API, Animations & Fragment Shaders When Flutter's standard widgets can't achieve the visual effect you need, CustomPaint unlocks the full power of the Canvas API — and with Fragment Shaders, you can push rendering directly to the GPU. class WaveChart extends StatelessWidget { final List<double> data; const WaveChart({required this.data}); @override