Skip to content

PROJECT DOSSIER · Social / Utility Apps

FiberVPN Subscription Utility

VPN app with country selection, connection state, premium plan prompts, and payment-ready upgrade flow.

Status
Live
Role
Flutter Developer
Period
2024
Platforms
Android · iOS
FiberVPN project evidenceVPN Selection

01 / ORIGIN

Product context

FiberVPN provides secure network access across mobile devices. The app shows connection state, location switching, premium upsell, and subscription options.

The app needed a stable, cross-platform VPN experience with clear connection states and a subscription flow that converted free users.

02 / CREW

Role and ownership

Flutter Developer at Codego, 2024.

Worked with the mobile team to integrate the VPN UI with platform tunnel extensions.

I built the Flutter UI, connection-state screens, and subscription flow. The native tunnel implementations were handled by platform specialists.

Specific conversion and subscription numbers are confidential.

03 / GRAVITY

The challenge

  • Keeping Flutter UI in sync with native VPN connection state.
  • Handling platform-specific subscription lifecycles.
  • Presenting clear error states when the tunnel fails.

04 / TRAJECTORY

Engineering approach

  • Defined the full state machine for connection states before writing UI.
  • Used platform channels to bridge native events.
  • Built subscription flows with fallback states for store errors.

05 / SYSTEMS

What I built

  • Implemented location selection and connection-state screens.
  • Built premium upgrade and subscription prompt flows.
  • Connected Flutter state to native VPN events.

06 / NAVIGATION

Technical decisions

Stream-based connection state

Exposed the native connection state as a Dart stream so the UI always reflected the latest VPN status.

10 / SIGNAL

Results and proof

Published on Play Store and App Store.

Evidence · public

Implemented subscription-ready UI used in production.

Evidence · client-approved

11 / RETURN

Reflection

  • VPN apps require tight coordination between native extensions and Flutter UI.
  • Subscription state needs careful handling around store restore and errors.