A very simple iOS recipe management app built with SwiftUI that seamlessly integrates CoreData and async/await networking to provide a smooth, responsive recipe browsing experience. The app fetches and displays recipe data from a remote API, allowing users to explore, search, and interact with a comprehensive collection of culinary inspirations.
Here are some screenshots showcasing the app's features:
- SwiftUI interface
- CoreData local storage
- Asynchronous API data fetching
- Responsive search functionality
- Smooth recipe browsing experience
- Code quality enforcement through SwiftLint
- Test coverage with unit tests.
- Swift 6
- SwiftUI
- Swift Testing
- CoreData
- Async/Await
- WebKit
- RESTful API Integration
- iOS 26 minimum OS target
- MVVM
- Singleton
- Dependency Injection
-
Core Data Integration: I focused on getting the Core Data setup right.
-
SwiftUI Implementation
-
Networking and Data Flow: I put a lot of effort into designing a solid network layer with NetworkManager.
-
Error Handling: I made sure to handle errors well (NetworkError, error handling in view models) because I wanted the app to be robust. I made sure to test various network conditions using the Network Link Conditioner in Xcode.
I spent roughly a 5-day work week on this project. Here's how I split my time:
- 40% on data modeling, Core Data setup, and repository patterns.
- 30% went into crafting those SwiftUI views and view models.
- 20% on networking, error handling, and keeping data consistent between offline and online states.
- 10% was dedicated to testing, debugging, and documenting.
- I went with CoreData to save the download images and the rest of the data from the network.
- Testing. See below.
A few insights and constraints:
- Testing: If I had more time I would have updated the unit tests after I did the latest code changes, I would do accessibility testing, and added UI testing.
Proprietary Software
© 2026 SarahUniverse
This software and its source code are the exclusive property of SarahUniverse. No part of this software may be reproduced, distributed, or transmitted in any form or by any means without prior written permission.





