
Emil worked on the mullvad/mullvadvpn-app, delivering features and fixes across iOS and desktop platforms with a focus on privacy, reliability, and user experience. He implemented QUIC-based obfuscation for WireGuard traffic, improved localization, and enhanced account management workflows. Using Swift, Rust, and Kotlin, Emil refactored core networking logic, introduced asynchronous programming patterns, and optimized build configurations for cross-platform stability. His work included dependency management, release engineering, and test infrastructure improvements, such as simplifying router setup and enforcing arm64-only builds. Emil’s contributions addressed privacy, accessibility, and maintainability, resulting in a more robust, scalable, and user-friendly VPN application.

Month: 2025-10 — Mullvad Mullvadvpn-app (mullvad/mullvadvpn-app) Key features delivered: - 2025.6 Release: WireGuard privacy improvements via QUIC obfuscation; UX enhancements with clickable feature indicators; ability to cancel problem reports; device management from the account view; Dynamic Type accessibility support; user-facing notification for unsupported WireGuard ports. Major bugs fixed: - No specific bugs enumerated in the provided data; release-level improvements focus on privacy, compatibility, and UX stability. Overall impact and accomplishments: - Strengthened privacy posture and network compatibility for WireGuard usage, improved user experience and accessibility, and streamlined device management from the account view. The work represents a cohesive release effort that enhances trust and ease of use for customers. Technologies/skills demonstrated: - WireGuard/QUIC integration, iOS accessibility (Dynamic Type), UI/UX enhancements, account management workflows, release engineering (changelog maintenance).
Month: 2025-10 — Mullvad Mullvadvpn-app (mullvad/mullvadvpn-app) Key features delivered: - 2025.6 Release: WireGuard privacy improvements via QUIC obfuscation; UX enhancements with clickable feature indicators; ability to cancel problem reports; device management from the account view; Dynamic Type accessibility support; user-facing notification for unsupported WireGuard ports. Major bugs fixed: - No specific bugs enumerated in the provided data; release-level improvements focus on privacy, compatibility, and UX stability. Overall impact and accomplishments: - Strengthened privacy posture and network compatibility for WireGuard usage, improved user experience and accessibility, and streamlined device management from the account view. The work represents a cohesive release effort that enhances trust and ease of use for customers. Technologies/skills demonstrated: - WireGuard/QUIC integration, iOS accessibility (Dynamic Type), UI/UX enhancements, account management workflows, release engineering (changelog maintenance).
September 2025 — Mullvad VPN (mullvadvpn-app) monthly summary focusing on business value and technical achievements. Key features delivered: - Arm64-only iOS build enabled by updating device capabilities (arm64 in Info.plist) and removing armv7; aligns with the 2025.7 release. (Commits acc184daaaaee1dde4058537cd5a39704815ed54; 22ea9b9cc2cf475dc6b46a10ef8f4b579b3e1dc9) - Release readiness: Version bumped to 2025.7 to reflect the release and ensure branding/marketing alignment. Major bugs fixed: - Obfuscation Method Selection Stability: now rejects unsupported obfuscation methods only when obfuscation state is 'automatic'; tests updated to reflect the bypass behavior. (Commit a693abbb7176fd7d1a604572667f8e6b22ba6577) Overall impact and accomplishments: - Reduced release risk through alignment of device capabilities with the latest iOS hardware profile and updated versioning; improved stability for newer devices and smoother App Store submission. Technologies/skills demonstrated: - iOS deployment practices (Info.plist, device capability management), versioning strategy, and test alignment; clear commit-based traceability.
September 2025 — Mullvad VPN (mullvadvpn-app) monthly summary focusing on business value and technical achievements. Key features delivered: - Arm64-only iOS build enabled by updating device capabilities (arm64 in Info.plist) and removing armv7; aligns with the 2025.7 release. (Commits acc184daaaaee1dde4058537cd5a39704815ed54; 22ea9b9cc2cf475dc6b46a10ef8f4b579b3e1dc9) - Release readiness: Version bumped to 2025.7 to reflect the release and ensure branding/marketing alignment. Major bugs fixed: - Obfuscation Method Selection Stability: now rejects unsupported obfuscation methods only when obfuscation state is 'automatic'; tests updated to reflect the bypass behavior. (Commit a693abbb7176fd7d1a604572667f8e6b22ba6577) Overall impact and accomplishments: - Reduced release risk through alignment of device capabilities with the latest iOS hardware profile and updated versioning; improved stability for newer devices and smoother App Store submission. Technologies/skills demonstrated: - iOS deployment practices (Info.plist, device capability management), versioning strategy, and test alignment; clear commit-based traceability.
March 2025 Monthly Summary - mullvad/mullvadvpn-app Key features delivered: - DAITA Parameter Handling in Peer Exchange: Implemented fix to save DAITA parameters only when the negotiation state is 'negotiatingWithEntry'; adjusts peer configuration to set daitaParameters to nil in other scenarios to prevent unintended data propagation during peer exchange. - Test Router Setup Simplification: Streamlined test infrastructure by removing WiFi AP configuration from the iOS test router setup, eliminating the need for a WiFi interface and related config files to focus on wired network interfaces. Major bugs fixed: - Fixed DAITA parameter handling bug to prevent data leakage during peer exchange by correcting save conditions and configuration paths. Commit: 6b9c74c6ecd22d7469b535aa675867634ce95a52. Overall impact and accomplishments: - Increased correctness and data isolation in peer exchange flows, reducing the risk of unintended data propagation. - Improved test reliability and CI efficiency by simplifying test infra and removing WiFi dependencies. - Faster feedback loop for networking parameter handling changes, enabling more rapid iteration on negotiation logic. Technologies/skills demonstrated: - Swift/iOS development, networking parameter management, and negotiation/state handling. - Test infrastructure optimization and disciplined commit-based changes in a shipping project. - Clear verification of business value through reduction in data leakage risk and CI complexity.
March 2025 Monthly Summary - mullvad/mullvadvpn-app Key features delivered: - DAITA Parameter Handling in Peer Exchange: Implemented fix to save DAITA parameters only when the negotiation state is 'negotiatingWithEntry'; adjusts peer configuration to set daitaParameters to nil in other scenarios to prevent unintended data propagation during peer exchange. - Test Router Setup Simplification: Streamlined test infrastructure by removing WiFi AP configuration from the iOS test router setup, eliminating the need for a WiFi interface and related config files to focus on wired network interfaces. Major bugs fixed: - Fixed DAITA parameter handling bug to prevent data leakage during peer exchange by correcting save conditions and configuration paths. Commit: 6b9c74c6ecd22d7469b535aa675867634ce95a52. Overall impact and accomplishments: - Increased correctness and data isolation in peer exchange flows, reducing the risk of unintended data propagation. - Improved test reliability and CI efficiency by simplifying test infra and removing WiFi dependencies. - Faster feedback loop for networking parameter handling changes, enabling more rapid iteration on negotiation logic. Technologies/skills demonstrated: - Swift/iOS development, networking parameter management, and negotiation/state handling. - Test infrastructure optimization and disciplined commit-based changes in a shipping project. - Clear verification of business value through reduction in data leakage risk and CI complexity.
February 2025 monthly summary for mullvadvpn-app focusing on delivering business value through localization improvements, startup observability, network obfuscation experimentation, API resiliency, and cross-language build stability.
February 2025 monthly summary for mullvadvpn-app focusing on delivering business value through localization improvements, startup observability, network obfuscation experimentation, API resiliency, and cross-language build stability.
January 2025: Mullvad VPN App (mullvadvpn-app) delivered cross-platform release readiness, staging/test improvements, DNS privacy updates, and WireGuard reliability enhancements. Key outcomes include alignment of 2025.1 release notes and versioning for Desktop and iOS; staging environment networking improvements; removal of Google DoH provider from DoH options; and internal WireGuard maintenance with a dependency upgrade and concurrency improvements. These changes enable faster, more predictable releases, better testability in staging, privacy-respecting defaults, and a more robust VPN core.
January 2025: Mullvad VPN App (mullvadvpn-app) delivered cross-platform release readiness, staging/test improvements, DNS privacy updates, and WireGuard reliability enhancements. Key outcomes include alignment of 2025.1 release notes and versioning for Desktop and iOS; staging environment networking improvements; removal of Google DoH provider from DoH options; and internal WireGuard maintenance with a dependency upgrade and concurrency improvements. These changes enable faster, more predictable releases, better testability in staging, privacy-respecting defaults, and a more robust VPN core.
December 2024 highlights: Delivered core architecture improvements, monetization enhancements, and reliability improvements for mullvadvpn-app. Key features include DAITA v2 Relay-based Dynamic Provisioning for iOS, StoreKit2-based in-app subscriptions, and VPN Core Networking updates with Async Key Exchange and IAN-based ephemeral peer exchange. Upgraded WireGuard-Apple for stability, refactored startup and API endpoint configuration for cleaner initialization and testability, and strengthened build, testing, and tooling with Mockito and unit-test fixes. Release notes and versioning were aligned with the 2024.12 cycle to support smoother iOS releases. Business value delivered includes faster provisioning, new monetization capability, improved connection reliability, and easier maintenance for the codebase.
December 2024 highlights: Delivered core architecture improvements, monetization enhancements, and reliability improvements for mullvadvpn-app. Key features include DAITA v2 Relay-based Dynamic Provisioning for iOS, StoreKit2-based in-app subscriptions, and VPN Core Networking updates with Async Key Exchange and IAN-based ephemeral peer exchange. Upgraded WireGuard-Apple for stability, refactored startup and API endpoint configuration for cleaner initialization and testability, and strengthened build, testing, and tooling with Mockito and unit-test fixes. Release notes and versioning were aligned with the 2024.12 cycle to support smoother iOS releases. Business value delivered includes faster provisioning, new monetization capability, improved connection reliability, and easier maintenance for the codebase.
For 2024-11, delivered key features, critical stability fixes, and cross-cutting improvements in mullvadvpn-app, aligning with product goals for improved user experience, release readiness, and platform consistency. The month focused on UX clarity, asset management, and a deadlock fix with a corresponding version bump, resulting in a more stable, maintainable, and scalable app for end users and internal teams.
For 2024-11, delivered key features, critical stability fixes, and cross-cutting improvements in mullvadvpn-app, aligning with product goals for improved user experience, release readiness, and platform consistency. The month focused on UX clarity, asset management, and a deadlock fix with a corresponding version bump, resulting in a more stable, maintainable, and scalable app for end users and internal teams.
Overview of all repositories you've contributed to across your timeline