From the Lab
Research notes, engineering deep dives, and honest reflections on building AI-device interaction tooling.
Corellium Sold for $170M. Here's What They Couldn't Do.
Cellebrite paid $170M for device virtualization. The next layer — AI-driven actuation on real phones — is the gap Drengr fills. And $170M says the market is paying attention.
AI Can Browse the Web. Why Can't It Tap a Phone?
Every week there's a new Show HN for AI-powered browser testing. Then someone asks: how do I do this on a phone? Silence. The gap is real — and it's exactly why I built Drengr.
Your Mobile QA Team Is Still Writing XPath. In 2026.
The test breaks every sprint. The QA engineer spends half a day updating selectors. The cycle repeats. Here's why selector-based mobile testing is fundamentally broken — and what happens when you let AI read the screen instead.
Connecting Claude to a Real Phone via MCP
What actually happens when you connect an AI agent to a real mobile device. Not a demo, not a mockup — a real phone running a real app. 90 seconds from install to first test.
Field Notes: How Drengr's Architecture Aligns with (and Diverges from) Current Research
After ten years of writing Android UI tests that broke every sprint, I started building something different. Turns out researchers at Google, Meta, Microsoft, and Princeton were asking the same questions. Here's where our paths cross — and where they don't.
Why Not Python? The Language Everyone Expected Me to Use for Drengr
Every AI agent project is Python. LangChain, CrewAI, AutoGen — Python everywhere. I went with Rust. Here's the honest reason, and what it cost me.
Giving Claude a Phone: How I Built an MCP Server for Mobile Devices
AI agents can write perfect code but can't tap a button on a real device. I built an MCP server to bridge that gap — here's how Drengr gives Claude eyes and hands on Android and iOS.
Why I Chose Rust for a Mobile Testing Tool (And What I Learned the Hard Way)
Every AI agent project is Python. I went with Rust for Drengr and shipped a 15MB static binary with zero runtime dependencies. Here's what that decision cost me — and why I'd do it again.
The OODA Loop: How I Taught an AI Agent to Navigate Apps It Has Never Seen
Military strategy from the 1960s turned out to be the perfect framework for AI mobile testing. Here's how the Observe-Orient-Decide-Act cycle gives Drengr's agent situational awareness.
What Happens When You Let AI Test Your App for a Week
I pointed Drengr's autonomous agent at three different apps and let it run for a week. It found a bug I'd missed for months, flagged an accessibility issue, and also reported a lot of false positives.
From ADB Shell to AI Agent: The Quiet Revolution in Mobile Automation
Mobile test automation has evolved from raw shell commands to AI-driven exploration. I trace the journey from ADB to Appium to Maestro to Drengr — and where I think it's heading.
Building in Public: The Architecture of a Solo Rust Project
No VC, no team, no timeline pressure. Just curiosity and a problem that felt important. Here's the architecture of Drengr, what 6,300 lines of Rust taught me, and the hardest bug I've hit so far.
Why I Chose Rust Over C and C++ for Drengr
Everyone asks why Rust instead of Python. The more interesting question is why not C or C++. Here's what drove that decision — and what I'd do differently.