- Networking (NSUrlSession)
- Core Data (with multiple NSManagedObjectContext)
- Large Data Set Management with NSFetchedResultsController
- Protocol Oriented Programing
- Unit Testing
- Model View ViewModel (MVVM)
- Auto-layout (programmatically and in Storyboards)
- Migrate tests from XCTest to Quick and Nimble
- Refactor ViewModel to be more testable
- Migrate Detail ViewModel/Controller to RxSwift