CritterWatch: Project Summary
Inspiration
Our primary motivation stemmed from the frequent observation of stray animals and their consequential ecological disruption within our local community, in Troy and our cities.
- We consistently noted the presence of feral cats and strays that contribute to overpopulation.
- We observed these strays negatively impacting the local food chain by preying on native birds and small wildlife.
- This posed a clear, sustainable issue requiring a community-driven solution to facilitate rescue, rehoming, and ultimately, address the broader problem of local ecosystem balance and animal welfare common to many urban environments.
What it does
CritterWatch functions as a social network for local communities to crowdsource recent sightings of strays in the area. The main functionality is centered around enabling users to quickly snap a picture of an animal and post it to an interactive map. In parallel, the app features an alternate media/forum tab where locals can share detailed information and discuss strategies regarding strays in the neighborhood. Within this tab, we also provide crucial resources for people to locate nearby shelters and clinics (using scraped data). Ultimately, we want users to be able to connect with others in their community to support efforts in taming strays and getting them to appropriate care or shelter.
How We Built It
The app was built using React Native Expo and currently functions as an Android application. For the backend and database, we are leveraging Supabase. We are utilizing Expo's built-in camera prototyping feature to develop and make that the main part of the app's sighting functionality. We integrated the Google Maps API for plotting the sightings on the map, and we used Python to web scrape some data to compile initial shelter information. The database structure is defined using tables for users, animals, posts (map-sightings and social posts), comments, likes, and follows.
Challenges We Ran Into
The theme for this year proved to be one of the most challenging aspects: choosing a retro feel, specifically the Frutiger Aero aesthetic, to capture the community aesthetics of the early 2000s web style. We tried to bring back a sense of vivid brightness, colors, and maximalism in opposition to the bland minimalism sweeping modern design principles. Technically, getting all the necessary APIs to work in React Native Expo was difficult because of potential package conflicts. Specifically, the Google Maps API gave us a hard time due to the difficulty in customizing its features, which was among all the other parts of the app we had to customly integrate.
Accomplishments that We're Proud of
We are proud of successfully implementing the core functionality that allows users to capture a photo, obtain its location, and display it on the map, thereby enabling real-time community sourcing of data.
What We Learned
We learned a great deal about React Native Expo technologies to develop functional Android app interfaces. We also gained significant experience in project management, learning to split tasks cleanly between each other and checking in every few hours, much like industry project management methodologies. Our majors proved very balanced: ITWS provided a full-stack overview and insight for time and task management, while Computer Science provided technical expertise to advise on stack choices and lead the development of major backend database features and camera functionality.
What's Next for Critter Watch
There are a lot of features that aren't fully implemented due to the scope we had for the MVP. Next, we want to implement a level of machine learning in animal recognition and add enhanced support for users navigating the stray rescue processes, making the app a comprehensive tool for animal welfare.
Log in or sign up for Devpost to join the conversation.