iOS Swift

MEGA

MEGA is a secure cloud storage and file hosting platform trusted by millions. I was working at MEGA The Privacy Company as an iOS Engineer, contributing to the Media Content feature, revamping existing features, and resolving performance issues including app hangs.

MEGA
MEGA iOS App

Engineering

Tech Stack

Technologies and frameworks used while working on the MEGA iOS app.

๐ŸŽจ
UI & Presentation

Built with both SwiftUI and UIKit โ€” SwiftUI for modern declarative screens, UIKit for legacy components and complex custom interactions that require fine-grained control.

SwiftUI UIKit Xcode
๐Ÿ›๏ธ
Architecture

Applied MVVM with Clean Architecture layering to maintain separation of concerns across Presentation, Domain, and Data โ€” critical for a codebase of MEGA's scale.

MVVM Clean Architecture
๐Ÿ“ฆ
Dependency Management

Managed third-party and internal library dependencies with Swift Package Manager (SPM) for a clean, reproducible build environment.

SPM Swift Package Manager
๐Ÿ’พ
Local Persistence

Used CoreData for structured local storage โ€” caching user data, offline-accessible content, and persistent app state across sessions.

CoreData
โ–ถ๏ธ
Media โ€” AVKit & AVFoundation

Contributed to the Media Content feature using AVKit, AVPlayer, and AVFoundation โ€” enabling in-app video/audio playback directly from MEGA's secure cloud storage.

AVKit AVPlayer AVFoundation
โšก
Concurrency & Reactivity

Adopted async/await (Swift Concurrency) for structured async operations and network calls. Used Combine for reactive state pipelines and data binding between layers.

async / await Swift Concurrency Combine
๐Ÿ””
Push Notifications

Integrated Push Notifications via APNs to deliver real-time file sharing alerts, collaboration updates, and account security notices.

Push Notifications APNs
๐Ÿงช
Testing โ€” TDD & Unit Tests

Practised Test-Driven Development (TDD) throughout. Unit tests written with XCTest covering ViewModels, Use Cases, and repository logic.

XCTest TDD Unit Testing

Structure

Clean Architecture Layers

Strict layer separation ensures testability and long-term scalability across MEGA's large iOS codebase.

Presentation Layer

SwiftUI & UIKit Views, ViewModels. State-driven, no business logic.

Domain Layer

Use Cases & Entities. Pure Swift โ€” zero framework dependencies. Fully XCTest-covered.

Data Layer

Repositories, network services, CoreData storage. Maps DTOs to domain models.

Complete Stack

All Technologies

SwiftUI UIKit Xcode MVVM Clean Architecture SPM CoreData AVKit AVPlayer AVFoundation async / await Swift Concurrency Combine Push Notifications XCTest TDD Unit Testing

My Role

I was working at MEGA The Privacy Company as an iOS Engineer. Key contributions included the Media Content feature (AVKit/AVPlayer/AVFoundation), revamping existing screens in SwiftUI and UIKit, resolving performance issues and app hangs, and improving the overall stability of the iOS platform. Followed TDD with XCTest throughout, with Clean Architecture enforcing clean separation across all layers.