Inspiration
We both know people who have adopted cats, and many of our teachers have as well! Caring for a cat has helped many people enjoy life in ways that aren't easily accessible anymore. Many cats may also struggle to find a home, and adopting can help save a cats life. However, the famed cat distribution system does not always work, so Cat Tinder is here to help!
What it does
You'll provide Cat Tinder with the zip-code you reside in, and any preferences you may have (age, breed, gender, etc.), and then you'll be shown cats that fit those criterion! From there, you can choose which cats best fit your interest, and you'll be provided with where they are and the organization to adopt them from.
How we built it
Used Firebase for user authentication, Vite with React and Typescript for the frontend, and Node.js and Express.js for the backend - which integrated into a MongoDB database(hosted on Atlas).
Challenges we ran into
The API that contained the data for cats (Rescue Group API) that we used was not well documented, nor was it well supported. Most of the documentation is "to-do" or work-in-progress, and there's no clear "request" or "response" for the most part. It was really tough to figure out how to query the endpoints correctly with dynamic filters.
Another huge issue that we ran into was the image quality. Their main image CDN is down - the image does not render at all - this stores the high resolution images. We could only find low-quality "thumbnail" photos for each cat, which detracts significantly from the user experience. We tried to use an AI upscaler (UpscalerJS) - which didn't end up working as well as we hoped, because their CDN for thumbnails repeatedly blocks the upscaler library's attempts to download & upscale the image.
Accomplishments that we're proud of
Piecing together how to use the API was difficult and frustrating at times, but was extremely rewarding and felt like an adventure!
What we learned
Previously, neither of us had much experience with deploying projects to Vercel, nor had we used Firebase. We also learned about different upscaling APIs and libraries, and ended up going with UpscalerJS. This project also contained technologies that we were really familiar with (Express, MongoDB), but also helped us push our boundaries to consider technologies that we were not familiar with!
What's next for Cat Tinder
We plan on polishing Cat Tinder (ensure user experience is smooth and simple, looking into ways to better fix broken/bad data), as well as making it mobile friendly. It's possible that we might find a better API that contains higher resolution images, and more information - but the RescueGroups API was the best one we could find and get an API key for in a short period of time.
After Cat Tinder forms a strong base, we will look to make it more accessible. Cat Tinder is not meant to be an app that you use forever - if all goes well, you'll be fulfilled!
Built With
- express.js
- firebase
- mongodb
- node.js
- react.js
Log in or sign up for Devpost to join the conversation.