
iOS app · ImageFeedApp · 2025 – 2026
Modular iOS Media Architecture
An image feed app with paginated loading, image comments, and an offline cache. I use it to practice modular, test-driven iOS design, and recently migrated it to Swift 6 with strict concurrency.
- Migrated to Swift 6 with strict concurrency set to complete, replaced Combine with async/await across feed, image, comments, and pagination loading, and made view protocols MainActor-isolated.
- Separate modules for core feed logic, API, iOS UI, and app composition, each with its own tests: unit, snapshot, API end-to-end, cache integration, and UI acceptance tests, running in CI.
- Thread-safe Core Data and in-memory caching with prefetching and request cancellation; profiled scrolling in Instruments and moved image decoding off the main thread to remove scroll hitches.
- Requirements written as user stories and use cases, covering happy and sad paths, in the README.
- Swift 6
- Swift Concurrency
- UIKit
- Core Data
- XCTest
- Snapshot tests
- CI