Multi-tenant ISP platform provisioning 1,000+ devices — Laravel & Livewire case study
ISPKenya lets several internet service providers run their operations on one shared platform. I designed the multi-tenant architecture and wired in TR-069 device management, so each ISP provisions and manages its customer routers from one dashboard without seeing anyone else’s data.
- Client
- ISP platform operator, Kenya
- Timeline
- Jul — Aug 2025 (2 months)
- Role
- Architecture and full-stack build
- Headline result
- 1,000+ CPE devices provisioned
- Stack
- LaravelLivewireREST APIsMySQLGenieACSTR-069
The problem
Every ISP has to manage the routers and modems in its customers’ homes, known as CPE. TR-069 is the standard protocol for configuring those devices remotely, and GenieACS is an open-source server that speaks it. But connecting that to an ISP’s own customers, staff and day-to-day operations takes real engineering, and doing it separately for every ISP is expensive.
The goal was one platform that many ISPs could share: one codebase and one infrastructure, with each ISP’s customers, devices and staff strictly separated. Each ISP needed to feel like it had its own system, while the operator ran just one.
What I built
- A multi-tenant architecture isolating data for 10+ ISP tenants on shared infrastructure
- GenieACS TR-069 integration with automatic port allocation for new devices
- Full device lifecycle management: provision, update and delete from the dashboard
- An analytics dashboard with real-time metrics
- Audit logging and role-based access control across 3 roles
Livewire for an interactive dashboard
Livewire gives the operations dashboard live, interactive screens while everything stays inside Laravel. There is no separate single-page app to build and keep in sync with the API, which mattered on a two-month timeline.
Audit everything that touches a device
When several ISPs and several roles can act on real customer hardware, “who changed this?” has to have an answer. Device actions are written to an audit log, and the 3 roles limit who can do what in the first place.
Challenges and how they were solved
Tenant isolation on shared infrastructure
In a multi-tenant system, the worst failure is one customer seeing another’s data. Every query, report and device action has to be scoped to the ISP that owns it, and the architecture was designed around that from the start rather than bolted on later.
Turning device work into software
Provisioning routers by hand doesn’t scale to a thousand devices. Automatic port allocation and a complete provision, update and delete lifecycle moved that work out of manual processes and into the platform.
Results
- 10+ ISP tenants on one shared platform
- 1,000+ CPE devices provisioned through TR-069
- Manual device operations reduced by ~60%
- Delivered in about two months
Let's talk about yours.
Book a free 30-minute call. Within 48 hours you'll have a written plan with scope, timeline and a fixed price.