The problem
Internet service providers run on thin margins and tight timing. A subscriber pays at 9pm and expects to be back online at 9pm, not the next morning when someone in the office notices the payment.
Most ISPs juggle a billing spreadsheet, a payment dashboard, router consoles and a phone full of customer messages. Accounts get activated and suspended by hand. Payments get missed. Customers who have paid stay offline, and customers who haven't stay connected.
What we built
A billing platform that does not stop at the invoice. It bills, collects and controls the network as one system. We first built it for Skylink Networks, where it runs in production. That deployment is confidential. Uplink is the multi-tenant version, offered to other ISPs.
Payments that post themselves
- M-Pesa STK Push, KopoKopo, MTN MoMo and Selcom, all reconciled automatically
- A payment renews the subscription, updates the network and sends a receipt with no one involved
Direct control of the network
- MikroTik routers: PPPoE and hotspot accounts, bandwidth profiles, live sessions
- FreeRADIUS: authentication, speed limits, monthly data caps and throttling
- Huawei fibre equipment (OLT and ONU) onboarding
Operations that run unattended
- 14 scheduled jobs: expiry and renewal, reminders, bandwidth polling, session sync, usage snapshots and SMS balance alerts
- SMS reminders and receipts through Africa's Talking or Twilio
- Hotspot vouchers, support tickets, leads, staff roles and shifts, documents and a customer portal
Built for many ISPs
- Multi-tenant: each ISP gets its own workspace, or a dedicated instance where isolation matters
- Blue-green deployment, so updates go live with zero downtime
How it holds up
The Skylink deployment processes around 400 payments a day, and each one is posted, renewed and reflected on the network without a human in the loop. The platform is built for much higher volume, with background jobs, connection pooling to routers and zero-downtime releases.