⚡ Zero-Cost ISP Automation: Powered by WhatsApp Bridge
One night, I returned home from the office, exhausted in the quiet way only long workdays can make you feel. I dropped my bag, reached for my phone, and noticed something strange — the WiFi wasn’t working.
No blinking internet icon. No messages loading. Just silence.
So I called Naeem, my local internet service provider.
"Why is my internet not working?" I asked.
He replied in a tired but familiar voice, "Let me check… maybe your recharge has expired. I’m driving right now. Give me ten minutes — I’ll reach the office and let you know."
Ten minutes later, my phone rang again.
"Yes, the recharge has expired," he said. "I’m sending you a QR code. Make the payment and I’ll renew the subscription from here."
"Okay."
I paid. A few moments later, the internet came back to life.
But something about the whole process bothered me. So I called him again.
"Bhaiyya," I said, half laughing and half frustrated, "this happens every single time. My internet stops, and only then do I realize the recharge is expired. Don't you have any automation for this? The current process is honestly very irritating."
There was a pause on the other side.
"No," Naeem admitted. "We don't have any system."
That was the moment the engineer inside me woke up.
"Listen," I said, "I can build one for you. I’m a software engineer. And don't worry — I won't charge anything for it."
He laughed softly. "Okay… sounds good."
I told him I would visit on Sunday. And that Sunday, I did.
🛠️ Decoding the Manual Workflow
I sat in his tiny office surrounded by wires, routers, receipt books, and old registers filled with handwritten payment dates. It wasn’t a tech company. It was just a small local business trying to survive through memory, phone calls, and manual work.
First, I created a Google Service Account and connected it to a Google Sheet. Then I helped him organize all customer records properly — names, phone numbers, recharge dates, expiry dates, and payment status.
After that, I wrote the code.
🤖 The Automated Pipeline
I designed a small, simple, but powerful system that runs reliably on local hardware.
1. Proactive WhatsApp Notifications via the WhatsApp Bridge
Every day, twice a day, a cron job checks the Google Sheet and filters for customers whose subscriptions are about to expire in one day — or have already expired.
The core of this notification workflow is the open-source WhatsApp Bridge Service (whatsapp-bridge-service). Instead of relying on expensive enterprise WhatsApp APIs or resource-heavy browser scrapers, this lightweight gateway connects directly to WhatsApp sockets. The cron system simply calls the bridge's REST endpoints, keeping the core script fully decoupled and blazing fast.
Automatically, the bridge dispatches a reminder message to the customer:
Dear Saif,
Your WiFi recharge plan expired on 11 May 2026.
To continue uninterrupted internet service, please recharge as soon as possible.
Thanks, Global Internet
The message includes a QR code for payment generated on the fly by the bridge.
[!NOTE] Deep Dive on the WhatsApp Bridge Service: If you want to understand how this bridge decouples communication logic, interacts directly with WhatsApp sockets, and serves as a highly scalable messaging gateway, read our detailed technical write-up: Bridging the Gap: Building a Lightweight, Scalable WhatsApp Integration Service.
2. Playwright-Driven Subscription Renewal
But I didn’t stop there. Once a customer completes the payment, Naeem only has to mark "YES" in the payment column inside the Google Sheet.
That single action triggers the next layer of automation:
- Every five minutes, a Playwright script runs silently in the background.
- It logs into the ISP portal automatically, navigates the dashboard, and renews the customer's subscription.
- The entire workflow is completed without anyone manually clicking through pages.
🐳 Containerization and Local Deployment
To make the system bulletproof, I containerized everything with Docker.
I pushed the image to Docker Hub, pulled it onto Naeem's office computer, and ran it with an unless-stopped restart policy so the services would always restart automatically. I even added Docker to the system startup folder, ensuring the entire automation stack boots itself whenever the machine power-cycles.
- No servers.
- No cloud bills.
- No maintenance team.
- No WhatsApp API costs.
- No renewal operators sitting all day doing repetitive work.
Just one ordinary computer quietly running a complete automation system.
Before leaving, I told him only one thing: "Keep the computer turned on."
That was it.
📈 The Outcomes that Matter
With almost zero running cost, we transformed a fully manual workflow into an automated collection system.
- Consistent Collections: Customers started getting timely reminders, leading to more predictable payments.
- Instant Renewals: Subscription renewals happen automatically within minutes of marking the payment.
- Cleaner Records: No more handwriting dates in old registers; everything syncs to a single source of truth.
- Zero Overhead: Missed collections dropped dramatically without adding any manual operational overhead.
A small local internet provider — who once depended entirely on memory and phone calls — now has a system that works like software built for a real enterprise.
Sometimes technology doesn't need millions of users to matter. Sometimes, it just needs to solve one real problem for one real person.
🌐 Project Resources & About the Author
- WhatsApp Bridge Service GitHub: ahtesham-clcbws/whatsapp-bridge-service
- Author GitHub: Saif Ansari (ansari-saif)
- Author LinkedIn: Saif Ansari on LinkedIn










