Network Operations Console for a Nigerian Tower Company
Designed and built a clickable network operations centre console for a Lagos tower company with about 5,500 sites: live site power and battery autonomy, an alarm console that groups alarms into incidents with a suggested root cause, trouble tickets with a separate SLA clock for each mobile operator, and penalty exposure per tenant.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
NOC dashboard, alarm console with incident detail, tickets with ticket detail, sites list and a site detail with 7 tabs, plus the modals to acknowledge, assign, ticket, dispatch, resolve and request a remote command.
Child alarms are grouped into incidents by named correlation rules, each with a suggested root cause, its evidence, a confidence level and lower-ranked alternatives.
A ticket on a shared site runs a restore clock and penalty at risk for each operator from its own contract: 4 h for a P1 in Lagos on gold, 6 h on silver and 8 h on bronze.
A watch list from a fleet of 5,508 sites, with 4 mobile operator tenants, 16 tickets, 4 maintenance windows today, 4 fuel deliveries, 3 fuel theft cases and 13 staff and technicians.
Iroko Height's NOC in Lekki watched three vendor dashboards for three generations of site controllers, a fuel-sensor portal and alarm emails forwarded by tenants. One grid failure at a busy site could raise forty alarms and as many tickets, fuel theft surfaced weeks later in delivery reconciliations, tenants disputed availability figures built in spreadsheets, and nobody could say how many sites were on batteries or how much SLA penalty the company faced this month.
Atupa puts every site's power, alarms and tickets in one NOC console. Alarms are de-duplicated and grouped into incidents with a suggested root cause, the dashboard orders incidents by tenant impact and lists sites whose batteries run out within 60 minutes, and each ticket carries an SLA clock and penalty at risk for every operator on the site.
Iroko Height is paid to keep each site powered, cooled, secure and available for up to four mobile operators, while the operators run their own radios. A single power fault touches several contracts at once, and the NOC has to see it, explain it and fix it before batteries run out.
Grid, generator, fuel, battery and solar readings came from Eltek and Vertiv controllers over SNMP, monitoring units and fuel sensors over MQTT, and three vendor dashboards. Sudden fuel drops were only noticed when deliveries were reconciled weeks later.
A grid failure followed by a generator that will not start produces mains, generator, battery, temperature and cell-down alarms from every tenant on the site. Operators opened a ticket for each and still had to work out the real cause themselves.
Each tenant contract sets its own availability target, restore times by priority and region, planned outage notice and penalty formula. Monthly availability lived in spreadsheets, so Iroko Height could not check the penalties tenants claimed.
Telecom infrastructure is designated critical national information infrastructure under Nigerian cybercrime law, so site locations, access records and remote command rights are sensitive. Landlord, guard and technician contact data falls under the Nigeria Data Protection Act 2023.
Mapped 10 roles from NOC operator to tenant portal user, 36 screens (29 staff and 7 tenant portal) and the data model for sites, tenancies, versioned contracts, controllers, equipment, telemetry, alarms, incidents, correlation rules, tickets with per-tenant SLA, dispatches, fuel events and cases, maintenance windows, outages and statements. Wrote down the rules the design follows: ITU-T X.733 alarm severities, the NCC framework under the Nigerian Communications Act 2003, critical infrastructure protection and the NDPA 2023.
Built 5 key screens on a production dashboard kit: the NOC dashboard with live status cards, priority incidents, power by region, battery risk, fuel, availability and penalty exposure per tenant, the alarm console with root cause, tenants affected and the alarm sequence, the tickets workspace with per-tenant SLA cards, dispatch and resolution, the sites list with saved views, and site detail with a 24-hour power timeline and a remote command request that needs a second approver.
Live integration with Delta (Eltek) or Vertiv controllers over SNMP, Galooli or Omnicomm sensors over MQTT, tenant alarm feeds such as Ericsson ENM or Nokia NetAct, a ServiceNow or Jira ticket bridge, the field technician app, Mapbox, Termii or Africa's Talking alerts, Postmark email and Microsoft Entra ID sign-in. A push channel for live updates, an append-only audit log, and the remaining screens: site map, power, fuel cases, dispatch, maintenance, SLA statements, reports, settings and the tenant portal.
Repeated alarms are counted on the parent and related ones grouped into an incident, such as grid failure, generator failed to start, battery exhausted, with the evidence behind it. Alarms inside a maintenance window are muted and tagged Planned, and none are ever deleted.
Priority incidents are ranked by the number of tenants down, then contract tier. The top bar always shows sites down, on generator, on battery and with stale controllers, and the dashboard lists sites whose battery will run out within 60 minutes from load and state of charge.
Every ticket shows each affected tenant's contract version, response and restore target, clock start, pauses, time remaining and penalty at risk in naira. A clock turns at risk within an hour of its due time, and pausing it needs a contract reason and the shift lead's approval.
Only the commands a site controller allows can be requested, each needs a second approver who is a different person with approval rights, and the request is written to the site's activity log. Atupa reads site power and never touches the operators' radio equipment.

Designed a self-care app and care agent console for a Lima mobile and home fibre operator, and built the care console as a clickable demo: a masked customer 360 with audited assisted actions, a claims queue and workspace run against regulatory deadlines, and SIM swap reviews scored by weighted fraud signals.

Designed and built a clickable ops console for an Amsterdam mobile brand that sells eSIMs online only: follow every order from payment to a live line, see each SM-DP+ event, work rejected port-ins with plain-language reasons, and review orders and transfers held by fraud rules.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab