📱 How I Accidentally Vibe-Coded an Android iPerf3 App with AI

Table of contents

“I’m not an Android dev… but I built a full iPerf3 client app anyway — with a little help from AI, and a lot of late-night debugging.”
🚧 The Problem
I was trying to help someone find a decent iPerf3 app for Android — but everything we tried was either outdated, broken, or missing key features.
So I thought… why not build one myself?
I also wanted to experiment with this whole “vibe coding with AI” thing anyway. 😄
The deeper I looked, the more obvious it became:
There’s no proper Android app for iPerf3.
Most existing ones:
❌ Are outdated or crash-prone
❌ Don’t support full TCP/UDP/bidirectional modes
❌ Lack live logs, sharing, or reporting features
❌ Definitely don’t support AI-powered analysis (🤖 just saying)
That’s how CellularLab was born — from curiosity, frustration, and a little AI-powered momentum.
🧠 The Twist — I’m Not an Android Dev
I’m a software developer, but not in Android. My expertise is mostly in backend systems, automation, data tooling, and scripting.
Still, I had a vision:
Native
iperf3
backend via JNIModern UI with intuitive inputs
Real-time logs with auto-save
AI log analyzer (because why not?)
But I didn’t know Android architecture deeply — no experience with Activity
, Fragment
, ViewModel
, or the Android NDK.
💡 Enter ChatGPT: My Pair Programmer
I turned to AI — ChatGPT — not expecting a miracle, but hoping for a starting point.
What worked:
Setting up JNI bindings to call native
iperf3
Generating layouts, fragments, and navigation
Writing adapters, log parsers, and file managers
Debugging minor logic errors
What didn’t:
Forgetting previous context in longer chats
Rewriting or removing important code without warning
Suggesting broken combinations of Kotlin/Java logic
Looping on the same errors if not prompted surgically
I quickly realized this:
💡 AI is powerful, but only when driven by someone who knows how to ask the right questions.
🔄 My Vibe-Coding Workflow
I stopped chasing perfection and started building by vibe — screen by screen, feature by feature.
I’d prompt ChatGPT with small, focused tasks:
“Give me a Fragment that takes IP, protocol, and duration inputs”I’d test it, debug issues, and refine the prompts:
“Update the logic to save logs in Downloads folder after test”I’d start enjoying the process:
“Let’s add a history screen. Let’s parse logs. Let’s do AI analysis.”
The momentum kicked in.
📍 “Basic test setup — just set IP, protocol, and duration, then tap run.”
🧪 Feature Highlights
The app — now called CellularLab — supports:
✅ TCP / UDP / Bidirectional tests
✅ Smart strategies like incremental UDP ramp-up
✅ Full command-line mode
✅ Live log output (like real
iperf3
)✅ Logs saved to device
✅ Gemini AI-powered log analysis
“Command-line mode, test history, and custom strategies — all at your fingertips.”
🤖 Gemini AI Log Analysis — Because It’s Cool
Once I had real-time logs saved, I thought:
“Why not let Gemini analyze them?”
I integrated a simple button:
✨ “AI Analyze”
Under the hood, the app reads the log and sends it to the Gemini.
Gemini returns:
📋 Markdown-formatted summary
📈 Bandwidth and performance observations
🛠️ Bottleneck analysis
🎯 A quality rating: Excellent / Good / Fair / Poor
The output looks clean and is great for sharing with your network team.
“One tap generates a full markdown report with bandwidth stats, analysis, and recommendations.”
🧠 Final Thoughts — On AI, Vibe Coding, and Developer Instincts
AI platforms like ChatGPT are amazing — but they amplify your mindset, not replace it.
I succeeded in building this app not because I’m an Android expert, but because I:
Knew how to plan the logic
Asked specific prompts
Could debug when AI failed
Broke problems into testable chunks
There were moments where ChatGPT:
Removed important code silently
Renamed variables incorrectly
Generated broken logic
Slowed down with longer chat history
But when it worked — it felt like magic ✨
It accelerated everything.
In the end:
AI rewards developers who know how to think.
📲 Try It Yourself — It’s Open Source!
You can find the app here:
🔗 github.com/Abhi5h3k/CellularLab
📥 APKs available in Releases
⚠️ Licensed for personal/non-commercial use only. Please don’t upload to the Play Store without permission.
🙌 Thanks for Reading!
If you enjoyed this post:
💬 Leave a comment — I’d love to hear your experience with AI + coding
⭐ Star the repo if you find the app useful
🔁 Share this article with someone who loves debugging networks on the go
Subscribe to my newsletter
Read articles from अभिषेक directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

अभिषेक
अभिषेक
💻 Software engineer by profession, builder by passion. Crafting tools that solve real-world problems.