No third-party packages were used in this application.
The underlying Combine framework was used to write the network layer (including error handling) and run the application's business logic. The laconic SwiftUI was chosen to visually display our data.
Both on Search and Source screen we have a reactive binding that allows us to update the screens as we typing information immediately.
It's the way how our network layer catch the errors.