Commerce iOS
Download from the App Store
A native iOS app that enables content creators to build and manage affiliate links directly from their mobile devices—no laptop required.
Role: Lead Engineer
The Challenge
Content creators on mobile-first platforms like TikTok, Instagram, and YouTube spend most of their time on their phones. Yet the existing workflow for creating affiliate links required logging into a desktop web application—a friction point that resulted in missed monetization opportunities. Creators would discover products worth sharing but couldn’t quickly generate trackable affiliate links in the moment.
Sovrn needed a mobile-native solution that matched how creators actually work: fast, on-the-go, and integrated with their existing content creation flow.
Technical Approach
Architecture
I built the app from scratch using pure SwiftUI with a clean architecture pattern:
- MVVM with Combine: Reactive data binding for responsive UI updates
- Protocol-Oriented Networking: Testable HTTP client with dependency injection (see my post on this pattern)
- Keychain-Based Auth: Secure token storage with automatic refresh handling
- Deep Linking: Universal links for seamless web-to-app transitions
Key Features
| Feature | Implementation |
|---|
| Link Builder | Create affiliate links with UTM parameters and custom tracking |
| Product Search | Browse merchant catalogs with real-time pricing data |
| Link Management | Edit, archive, and organize links by campaign |
| Analytics | View click and conversion data for individual links |
| Share Extension | Generate affiliate links from any app via iOS share sheet |
CI/CD Pipeline
Automated release pipeline using GitHub Actions and Fastlane:
- Automated Builds: Every PR triggers build verification and test suite
- TestFlight Distribution: Merged PRs automatically deploy to internal testers
- App Store Submission: Tagged releases trigger production deployment
- Code Signing: Match-based certificate management for team collaboration
Technical Decisions
| Decision | Rationale |
|---|
| SwiftUI over UIKit | Faster iteration, declarative UI, and reduced boilerplate for a small team |
| Combine over async/await | Project started pre-Swift Concurrency; Combine provided mature reactive patterns |
| Datadog over Firebase | Alignment with existing backend monitoring infrastructure |
| No third-party UI libraries | Native components for consistency with iOS design language and reduced bundle size |
Impact
- 2,500+ unique installs with strong monthly active user retention
- New revenue stream — app-originated links generating measurable affiliate revenue
- Expanded platform reach — mobile-first creators who previously couldn’t use the platform
Team Mentorship
Beyond building the app, I trained and mentored team members on iOS development, establishing patterns and practices that could be reused across future projects:
- Protocol-oriented architecture for testability
- SwiftUI best practices and common patterns
- Functional programming concepts applied to Swift
Credits