Dogs are so freaking cute we had to make our projects based around them. Dogs have taken the internet by storm and people have begun to categorize them using names such "doggo", "woofer", etc. However, it's not always clear what kind of dog you might be looking at. Thus, we created Doggo Spotto, which will classify your dog for you!
What it does
We built a flask application on our domain, doggospotto.com. The user can upload the url to a dog photo, to which our application will call the Clarifai API, an API for machine learning and image processing, and return the predicted dog category.
How we built it
We first began by training our machine learning model on Clarifai. Clarifai's Explorer is very intuitive to use, and makes machine learning simply a case of drag and drop. We also registered our domain on doggospotto.com, and hosted our flask web application on the Google App Engine, which called the Clarifai API.
Challenges we ran into
Learning how to use new resources was our biggest hurdle. Google's app engine and Clarifai were largely unfamiliar to us, but we were able to create a model with Clarifai as well as employ the model to create a web app with Flask which classifies dogs on a public website. None of us have done any web development, so learning basic CSS and HTML took a significant amount of time. By far, our largest difficulty was due to a 500 error from Google Cloud, which was due to an issue with mismatched versions of Flask in Google App Engine.
Accomplishments that we're proud of
We're proud of creating a working web app with none of us having any background in Flask, Google Cloud, or Clarifai, as well as (hopefully) making more than a few people laugh at our comical, yet educational, idea.
What we learned
We learned how to create a working model with Clarifai, as well as utilize the API in python code to categorize dogs. In addition to this, we learned about Flask, and it's usefulness as a web framework for python. We also were required to learn how to use Google App Engine to host the web app online, and connect it to our custom domain provided by domain.com.
What's next for Doggo Spotto
The next thing for Doggo Spotto is to add more functionality. As fun as our categories are, they're not very informative. We can create a better model, using dog breeds as concepts, so that Doggo Spotto can have more utility. It would also be nice to have some UX designer work on our web app.