KPN

Millions of KPN customers. One self-service app. No call centre needed.

Client

KPN

Sector

Telecom / Consumer

Deliverables

Mobile app | Backend | Website (React Native)

Context

MijnKPN is the primary self-service interface for KPN's consumer customer base: millions of users managing their subscriptions, data usage, invoices, and account details. The goal is straightforward but technically demanding: make it easy for customers to do everything themselves, reducing call centre volume while improving satisfaction.

At this scale, reliability is the product. An app that is slow, unclear, or intermittently unavailable generates exactly the support calls it was built to prevent.

What we built

A self-service platform that scales to millions

The app covers the full range of customer account management: checking data usage, paying bills, upgrading subscriptions, managing multiple lines, and contacting support as a last resort. Every flow is designed to resolve the task without requiring a call, which means clarity and completion rate are the primary design metrics.

Backend built for KPN's service complexity

KPN's product catalogue is large and changes frequently. The backend layer handles the translation between KPN's internal systems and a clean, consistent API surface for the app and website. This abstraction means frontend changes do not require backend changes and vice versa, enabling faster iteration on both sides.

Consistent experience across app and web

The mobile app and the web experience share the same backend and CMS-driven content layer. A change in subscription copy, a new promotional banner, or an updated FAQ is managed once and appears consistently across both channels.

Results

Millions of active users

Self-service reduces call centre volume

App & web consistent across channels

CMS-driven content managed centrally

Technology choice

Why React Native with a shared backend?

At KPN's scale, consistency between platforms is critical. React Native gives a shared codebase that eliminates the risk of platform-specific bugs creating different user experiences. The shared backend means product and content changes are made once, not twice, and the same data model powers both mobile and web.

Mijn KPN is how our customers manage their relationship with us. It has to work, every time.

How we worked

A project at this scale requires close alignment with KPN's internal product, engineering, and content teams. Elements operates as a long-term development partner, not a project-based vendor, which means continuity of knowledge across releases and the ability to make architectural decisions that hold over time.

What is next

As KPN extends its product range into fibre and bundled services, MijnKPN needs to grow with it. The modular backend architecture and CMS-driven content layer mean new product lines can be added without rebuilding the customer-facing experience.

Get in touch:

Rogier de Graaf
Strategy Director
rogier.degraaf@elements.nl

Team as a service

Besides our project-based collaborations, we also offer team members or a complete dev team as a service. Want to know more? Send us a message.