Inspiration

When I was first met with the prompt of Cats for this hackathon, I was stuck for a while, trying to think of ideas. Personally, I've never owned a pet animal, including cats. So as I was thinking of this project, I thought it would be really cool to educate myself, and all the other people who don't own cats, more about cats. It all came together, and I started planning out my project.

What it does

PurrfectBreeds is a web app that uses machine learning to identify what type of cat breed is present in the image given by the user. The user inputs an image url, displaying the preview of it in a box, which can be clicked on, revealing a modal with the correctly identified cat breed, and a detailed description about the cat breed.

How we built it

I used Flask, the python framework, to build the entire project. First, I used the Cat Breed Classification RapidAPI to identify the correct cat breed from the given image. Then, I sent the cat breed to the Wiki Briefs RapidAPI to get information about the passed cat breed. For styling, I utilized TailwindCSS for the entirety of the project, with a touch of plainCSS for functionality purposes.

Challenges we ran into

It was often a struggle for me to plan out the UI, as I had a hard time trying to visualize how I was going to make the UI for the form, and displaying the image on the page. Trying to make TailwindCSS contain the image in a box was quite a tedious process, but I managed to do it in the end, and I'm pleasantly surprised with how it turned out. The backend worked surprisingly well for me, but I did run into some troubleshooting, trying to figure out how to send the cat breed to the Wiki Brief API.

Accomplishments that we're proud of

I'm very proud of deploying my first web app. It's a bit surprising I've never deployed any of my hackathon projects, but it's great that I got to do it with Flask, and pythonanywhere.com. I'm also super proud of working with multiple APIs, a task I would've seen as extremely daunting is previous hackathons. But I've realized that in order to create a big project, you have to break it apart into smaller bits, and then put them back together, which was how I implemented the API functionality.

What we learned

I learned that using Figma isn't enough for planning out, you have to extensively plan out the website, or you'll end up doing styling for about 3-4 hours, like me. Backend isn't the only part to a website, and I've learned with more and more hackathons, that the UI is almost as, if not as, important as the backend of a project. It's a key concept I'm going to take into my future hackathons.

What's next for PurrfectBreeds

I'm definitely going to try and improve the user UI, as I've got some big ideas for how I can improve the user experience with the website. Also, I'm planning to branch out into dog breeds as well, releasing the constraints of the websites, and opening up doors to new possibilities for the web app. But if I am going to use more APIs, I'm going to try and find a more manageable way to do it, because having lots of APIs in a Flask application isn't the most organized of approaches.

Built With

Share this project:

Updates