CLIENT: Oruka Mobile🇳🇬Nigeria

Slipway - Internal Developer Platform with a CLI and Service Catalogue

Internal Developer Platform for a Nigerian Mobile Operator

Designed and built a clickable internal developer platform for a Lagos mobile network operator: a service catalogue with owners, tiers and scorecards, self-service requests with approval policies for production resources and tier 1 deploys, and a slip command line tool whose exact command is shown on every page.

Scope of Work
Product design, UI build and clickable demo
Industry
Developer Tools / Internal Developer Platform
Enterprise
Compliance & Certifications
NDPA 2023NDPC GAID 2025NCC regulation

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.

Impact

5 Screens
Clickable end to end

Home, the service catalogue, service detail with 8 tabs, the approval queue and request detail. All 27 services and all 17 requests open their own detail page.

17 Checks
Across 5 scorecards

Production readiness, observability, security hygiene, documentation and dependency freshness, each with Bronze, Silver and Gold levels, evidence and a fix hint. Some checks block a deploy to staging or prod.

8 Policies
Approval rules, requester excluded

A tier 1 prod deploy needs one tier 1 release approver; prod access to subscriber-personal data needs two approvers from data platform and security, and the approval lapses after 4 hours. No requester can approve their own request.

27 Services
Realistic demo data

Across 9 systems from USSD to billing and number porting, with 10 teams, 26 users, 6 golden-path templates, 27 deployments and 17 requests covering all 6 request types.

The Problem

Starting a new service at Oruka Mobile took three to five weeks of copied repositories and tickets to four teams. Copied services drifted, secrets ended up in CI variables and twice in one year a database password was printed in a build log. During one USSD outage the on-call engineer spent 25 minutes finding the owner of a downstream service in an eight-month-old spreadsheet, and when internal audit asked who had approved production database access last quarter, the answer was spread across email and chat.

Our Solution

Slipway gives Oruka's engineers one platform with two faces. The slip CLI scaffolds services from golden-path templates, requests resources, deploys and rotates secrets without printing them. The portal is the service catalogue: every service with its owner, tier, data class, scorecards and cost, plus an approval queue where the matching policy, required groups and separation of duties are shown before anyone decides.

The Challenge: Self-Service Without Losing Control

About 380 engineers in 45 teams run roughly 260 services at Oruka, many of them handling subscriber data. The platform has to make the safe path the fast path, for engineers who live in a terminal and approvers who decide from a chat link.

Ownership Nobody Kept Up to Date

Ownership lived in a spreadsheet eight months out of date. The catalogue reads a Backstage-compatible catalog-info.yaml from each repository, so the owner, tier, lifecycle and dependencies are kept next to the code.

Subscriber Data Under the NDPA

Names, phone numbers, identity numbers and usage records are personal data under the Nigeria Data Protection Act 2023. Every service and resource carries a data class that drives log masking, audit of prod log reads and in-country hosting, without claiming to make Oruka compliant on its own.

Secrets That Must Never Be Printed

Values stay in the vault and are injected at runtime. Slipway stores only vault paths, versions and rotation dates, and CLI and log output passes a secret scanner that replaces anything key-shaped with [redacted] before it is written.

Approvals Auditors Can Follow

Production resources, prod data access and tier 1 prod deploys need an approver who is not the requester. Oruka's own policies set who approves, how many and for how long, and each request keeps the policy version it matched.

Our Approach: From Platform Rules to a Clickable Portal

01

Spec and Rules Research

Mapped 9 roles from service engineer to auditor, 36 screens (10 CLI command groups and 26 portal screens) and the data model for services, templates, environments, resources, approval policies, requests, deployments, secret references, scorecards, costs and a hash-chained audit trail. Wrote down the rules the design follows: the NDPA 2023 and the NDPC's 2025 directive, NCC regulation of operators, the Backstage catalogue model, OpenTelemetry conventions, vault-only secrets and separation of duties.

02

Clickable Demo on a Production UI Kit

Built 5 key screens on a production dashboard kit: Home with KPIs, the requests waiting on me and items needing attention, the service catalogue with filters and a quick view panel, service detail with scorecards, deployments, resources, secrets metadata, declared versus observed dependencies, cost against budget and activity, the approval queue and request detail with the policy applied. All actions run on local state.

03

What a Production Build Adds

The slip binary and a shared API, single sign-on through Entra ID or Keycloak, GitLab or GitHub for templates and pipelines, Argo CD deploys, OpenTofu or Crossplane provisioning, HashiCorp Vault or OpenBao for secrets, the OpenTelemetry pipeline into Loki, Prometheus and Tempo, PagerDuty, Renovate, OpenCost and approvals in Slack or Teams. Plus the remaining portal screens, the audit trail and settings for tiers, policies, roles and CLI tokens.

Why It Works: The Safe Path Is the Short One

Every Page Has Its CLI Command

A Do this from the CLI hint with a copy button sits on every page, and the New service, Deploy and Request resource sheets show the matching slip command. Engineers can learn the portal and stay in the terminal.

Ownership Answered in Seconds

Service detail shows the owning team, the service owner and who is on call now, with versions per environment and SLO error budgets. Dependencies flag what is declared but not observed in traces, and what is observed but never declared.

Approvers See Why Before They Decide

Request detail shows the version diff, preflight result, justification and linked ticket, then the policy that matched and why, the groups and count required and Requester cannot approve. Prod approvals need a comment, rejections a reason, and the screen works at phone width.

Queues That Show What Is Late

Requests turn amber after 1 working day and red after 3. Bulk approve is limited to non-prod, low-risk requests, so prod changes are always decided one at a time. Home lists overdue secrets, expiring environments, single-person on-call, deprecated templates and services near budget.

Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

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