0 min read

Redesigning the PIA VPN App

PRODUCT DESIGN

B2C

The short version

I led this as design lead on a two-person team: one lead designer and one senior product designer. I owned research planning, design direction, and cross-department coordination across product, engineering, and QA, and contributed hands-on to the UI redesign, component library, and accessibility audit.
The work shipped in Q1 2024 after 15 weeks.

Results:

Optimal Location adoption +32%

Optimal Location adoption +32%

QA time reduced by 40%, measured from Jira task and rework data

QA time reduced by 40%, measured from Jira task and rework data

User satisfaction from 62% to 84%

User satisfaction from 62% to 84%

Accessibility compliance from failing WCAG 2.1 AA to 95%

Accessibility compliance from failing WCAG 2.1 AA to 95%

The context

Private Internet Access is a VPN service used by over 15 million subscribers worldwide to protect their privacy and stay anonymous online. The mobile app is where most of them spend their time - connecting to servers, picking regions, and using features like Optimal Location and Dedicated IP.

By 2023 the app hadn't kept pace. It still carried pre-2021 brand assets, and real users in usability testing were getting stuck in flows that should have been effortless. The planned re-architecture of the Android app and a push for multi-platform consistency created the window - and the reason - to fix what had been accumulating.

The story

What was broken

The usability issues weren't subtle. In testing sessions, users would land on the main screen and pause where they shouldn't - reading icons, second-guessing what they meant. The customize icon, a pencil, read as "edit my connection." The Dedicated IP icon, a map pin, was indistinguishable from region selection. The "Automatic" server option stopped one user cold:

"I would even give it a one [look] because I need it to be clear to me.
I'm using a VPN - I need flexibility, so what is this 'Automatic' all about?"

Beyond iconography, the UI was failing on fundamentals. A contrast ratio of 2:1 against the required 4.5:1 meant the app failed every WCAG check for text, large text, and graphics. Touch targets were undersized throughout. And under the surface, the component situation was a mess - patterns duplicated across screens, no documentation, inconsistent states that made every QA cycle expensive.

What I decided and why

A designer on my team flagged the issues after a scheduled usability test. My job was to decide whether they were worth investigating or dismissing. Research costs money, and pulling engineering into a redesign alongside an already-scheduled Android re-architecture costs more. So before committing to either, we built a rough prototype of the proposed fixes with estimated impact attached - enough to make the case. A few late meetings and a lot of coffee later, the department leads agreed and the redesign got folded into the existing work.

"Automatic" became "Optimal Location" - the original name told users nothing about why letting the app choose was a good idea. We circulated options including "Best Server" and "Recommended," but both were too vague to be meaningful. "Optimal Location" named what the feature actually delivered.

The Dedicated IP map pin was replaced with a text-based "DIP" label. A map pin means "pick a location" - the same language the region selection flow uses. Text removed the conflict. The change was reflected in onboarding for new users and in the update changelog for existing ones.

The component library got a full build because the Android re-architecture gave us the window to do it right. The conditions were there and wouldn't be again soon.

What shipped

Server selection became readable at a glance: Optimal Location renamed and clearly positioned, color-coded latency indicators replacing plain millisecond values, Dedicated IP identified by text. Accessibility went from failing every WCAG check to 95% AA compliance, with contrast at 7.57:1 and touch targets documented and verified throughout. The component library gave the team - and future teams - a single source of truth with documented states, variants, and accessibility notes built in. And the visual language finally matched the brand PIA had been running everywhere else since 2021.

As you made it so far

Server selection: The core flow before and after. Optimal Location replacing "Automatic," color-coded latency indicators, and the DIP text label replacing the map pin in Quick Connect.

Accessibility: Contrast before and after: 2:1 to 7.57:1. Touch targets updated throughout the region list and Quick Connect bar. Light theme added as an option.

Layout and customization: The new header with connection status text, the Selected Location card with flag and IP display, and the Quick Connect bar with country shortcuts.

Component library: The documented component system in Figma - states, variants, accessibility notes. The QA checklist that came out of it.

Visual language: The updated typography, color palette, and iconography aligned with PIA's 2021 brand. Before and after across key screens.

Alex Dihel | Product & Marketing Design Leadership | Design Operations   www.alexdihel.com © | Privacy

Alex Dihel | Product & Marketing Design Leadership | Design Operations   www.alexdihel.com © | Privacy

Alex Dihel | Product & Marketing Design Leadership | Design Operations   www.alexdihel.com © | Privacy