BreedFinder - Dog Breed Identification App
Inspiration
Driven by curiosity, we wanted to explore how machine learning could help anyone identify different dog breeds, even for those who aren’t familiar with dogs.
What it does
BreedFinder is an iOS application that allows users to identify dog breeds from photos with high accuracy. Users can either take a photo directly through the app or select an existing image from their library. The app processes the image through our machine learning model and returns the top three most likely breed matches along with confidence percentages, visualized through intuitive progress bars.
How we built it
We developed BreedFinder using a three-tiered architecture:
Machine Learning Core: We fine-tuned a ResNet50 model on a dataset of 70 dog breeds, optimizing for both accuracy and inference speed.
Backend API: We built a FastAPI-based REST service that handles image processing and communicates with the ML model, returning prediction results in a standardized JSON format.
iOS Frontend: We created an intuitive SwiftUI interface that provides seamless photo capture and upload capabilities, displays prediction results visually, and handles the user experience flow.
Challenges we ran into
- Our initial model design didn't achieve good accuracy, often misidentifying dog breeds, until we switched to the professional ResNet50 model
- We needed to handle many potential error situations, like network disconnections, unsupported image formats, or blurry photos
Accomplishments that we're proud of
- Creating a fully functional end-to-end system that connects machine learning, API infrastructure, and mobile development
- Achieving high accuracy in distinguishing between visually similar dog breeds
- Designing an intuitive user interface that makes complex data and technology accessible to everyone
What we learned
- A powerful pre-trained model enables high performance with limited training data
- How visual similarity in real-world objects influences machine learning model performance
- Effective integration patterns between Python-based backends and Swift/iOS frontends
What's next for BreedFinder
- Supporting additional pet species beyond dogs
- Implementing offline model functionality for use without internet
- Adding educational content about each breed's characteristics
- Developing versions for Android and web platforms to reach more users



Log in or sign up for Devpost to join the conversation.