Invisible VPN

Rohan Katwal
Rohan Katwal
February 1, 2026 · 3 min read

Tech Stack

Nest.jspostgresqlprismaflutter dartfirebasedocker
Invisible VPN

What I Worked On

  1. Developed the Flutter mobile application for Android and iOS, focusing on a simple and intuitive VPN connection experience.

  2. Developed the NestJS backend responsible for authentication, VPN management, server communication, and API services consumed by the mobile application.

  3. Integrated WireGuard as the underlying VPN technology to establish secure and encrypted network connections.

  4. Implemented VPN server management, allowing the application to communicate with the backend and obtain the required configuration for connecting to available VPN servers.

  5. Implemented VPN connection management, including connecting, disconnecting, and monitoring the current VPN connection state.

  6. Built real-time connection status handling so users can clearly see whether the VPN is connected, disconnected, or in the process of connecting.

  7. Implemented server selection functionality, allowing users to select available VPN servers based on the backend-provided server information.

  8. Designed and implemented the communication between the Flutter application, NestJS backend, and WireGuard VPN infrastructure.

  9. Implemented REST APIs in NestJS for authentication, VPN operations, server management, and mobile application communication.

  10. Worked with PostgreSQL and Prisma ORM for backend data management and persistent application data.

  11. Implemented backend authentication and security mechanisms to protect user accounts and VPN-related API operations.

  12. Worked with Docker and server infrastructure to deploy and manage backend and VPN-related services.

  13. Configured and managed WireGuard networking, including VPN interfaces, private networking, client configurations, and IP address allocation.

  14. Worked with Linux networking and VPN infrastructure, including routing and network configuration required for VPN traffic.

  15. Implemented proper state management and API integration in Flutter to synchronize mobile application state with the backend.

  16. Optimized the mobile application for a smooth cross-platform VPN experience, including connection states, loading states, error handling, and responsive UI.

System Architecture

The overall system follows a client-server VPN architecture:

Flutter Mobile App → NestJS Backend → WireGuard VPN Server → Internet

The Flutter application communicates with the NestJS backend through REST APIs. The backend manages users, VPN servers, configurations, and VPN-related operations, while WireGuard handles the encrypted VPN tunnel and network traffic.

Key Features

  • Secure VPN connections
  • WireGuard-based VPN infrastructure
  • Flutter mobile application
  • NestJS backend
  • VPN server selection
  • Connect / disconnect functionality
  • Real-time VPN connection status
  • User authentication
  • REST API integration
  • PostgreSQL database
  • Prisma ORM
  • Secure VPN configuration management
  • Linux networking and server management
  • Docker-based backend deployment
  • Cross-platform mobile experience

Technologies Used

  • Flutter
  • Dart
  • NestJS
  • Node.js
  • TypeScript
  • WireGuard
  • PostgreSQL
  • Prisma ORM
  • REST APIs
  • Docker
  • Linux
  • VPN Networking
  • Authentication & Security