Case study
A VPN app built alone
Noy is an anonymous VPN on the App Store. I have been its only iOS developer since 2020, from the first commit to the store listing and the money it makes.
- Client
- Private client
- Role
- Sole iOS developer
- Period
- Since 2020
The problem
A VPN app is not a normal app. The tunnel runs in a separate process the system can kill, the network changes under you, and a connection that silently fails is worse than one that never connected. On top of that, the product only earns if subscriptions work on the first try.
What I did
Tunnels through Network Extension
The VPN runs in a Network Extension, on OpenVPN at first and on WireGuard since the 2026 rewrite, with the app and the extension sharing state carefully rather than guessing.
A connection state machine
One place decides whether the app is disconnected, connecting, connected or reconnecting, so every screen reads the same truth and automatic reconnection is predictable.
Speed test and server picking
A built-in speed test and a server list that lets people choose a country, with the measurements shown in the interface rather than hidden in logs.
Monetization and monitoring
Premium tiers through In-App Purchase, plus Crashlytics so a broken release is visible before the reviews arrive.
Where it stands
44.1K dollars of App Store revenue
Earned by the app on the App Store, from a product a single developer builds and maintains.
Rebuilt in 2026
Moved to WireGuard with the interface reworked, without losing the existing subscribers.
Questions I get asked
- Can you build a VPN app for us?
- Yes, and the honest first question is whether you need one. A VPN app means a Network Extension, review scrutiny, and a subscription model that has to work on day one.
- How long does something like this take?
- The first version of Noy was a few months of part-time work. A comparable app with an existing backend is usually faster, because most of the time goes into the tunnel behaviour, not the screens.
Stack
- Swift
- UIKit
- Network Extension
- OpenVPN
- WireGuard
- In-App Purchase
- Crashlytics
Other case studies
Want something like this built?
Book a 20-minute call and tell me about your app. I will tell you what I would do first.
Book a 20-min call