← Back to list

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

“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.”

Abhishek · 2025-07-06 08:03 · 8 claps · 3.6 min read
#iperf3 #gemini #android #open-source #vibe-coding
Open on Medium ↗
Wiki topics: LLM · Large Language Models AI · AI · General 💻 · Programming 🔓 · Open Source

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

“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 JNI
  • Modern 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.

  1. I’d prompt ChatGPT with small, focused tasks: “Give me a Fragment that takes IP, protocol, and duration inputs”
  2. I’d test it, debug issues, and refine the prompts: “Update the logic to save logs in Downloads folder after test”
  3. 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

메타데이터
post_id
b8eea31b7773
slug
how-i-accidentally-vibe-coded-an-android-iperf3-app-with-ai-b8eea31b7773
url
https://medium.com/@abhishekbhardwajca/how-i-accidentally-vibe-coded-an-android-iperf3-app-with-ai-b8eea31b7773
canonical_url
https://medium.com/@abhishekbhardwajca/how-i-accidentally-vibe-coded-an-android-iperf3-app-with-ai-b8eea31b7773
author_url
https://medium.com/@abhishekbhardwajca
status
ok
fetched_at
2026-07-19 03:27:03