Inspiration

WildGuard was inspired by the growing challenge of human–wildlife conflict near forests, villages, and railway routes. We wanted to create a system that helps authorities monitor animal movement early and respond before a dangerous situation develops.

What it does

WildGuard monitors wildlife using GPS location data and camera/CCTV observations. It displays animals on an interactive map, stores movement history, detects potential risk situations, and sends real-time alerts when an animal approaches a high-risk area such as a village or railway zone.

$$ \text{Risk Score} = \text{Animal Movement} + \text{Camera Confirmation} + \text{Proximity to Risk Zone} $$

The platform also includes a simulator for generating animal movement events, making it possible to demonstrate the complete monitoring workflow.

How we built it

We built the frontend with Next.js, React, TypeScript, Leaflet, and React Leaflet. This provides an interactive dashboard where users can view animal positions, alerts, and geographic information.

The backend was built using Python and Flask. It provides APIs for animal data, GPS events, camera events, alerts, and simulation controls. Real-time alert updates are delivered using Server-Sent Events (SSE).

For data and geospatial support, we used PostgreSQL, PostGIS, Flask-SQLAlchemy, GeoAlchemy2, GeoPandas, and Shapely. We also included scikit-learn, PyTorch, Torchvision, PyTorch Lightning, and Hugging Face Transformers as a foundation for future machine-learning-based wildlife detection and risk analysis. The app is containerized with Docker and Docker Compose.

Challenges we ran into

One major challenge was combining data from multiple sources, including GPS collars, camera observations, and alerts, into one understandable interface. We also had to ensure that location data could be displayed accurately on the map.

Another challenge was implementing real-time notifications without making the system too complex. We solved this by using Server-Sent Events, which allow the backend to push new alerts directly to the dashboard.

Accomplishments that we're proud of

We are proud of building a complete wildlife-monitoring workflow that includes animal tracking, camera-event ingestion, interactive mapping, alert management, and real-time updates.

We are also proud that the project is structured to grow beyond a demo. Its geospatial database support and machine-learning foundation can be expanded for real GPS collars, CCTV feeds, AI animal recognition, and advanced risk prediction.

What we learned

Through WildGuard, we learned how to build a full-stack application that connects a modern web interface with a REST API. We gained experience with geospatial data, interactive maps, real-time event streaming, Docker-based development, and structuring an application for future AI integration.

Most importantly, we learned that presenting data clearly is just as important as collecting it—especially when fast decisions can help protect both people and wildlife.

What's next for WildGuard

In the future, we plan to add an agentic AI system that can continuously analyze GPS movement patterns, camera/CCTV detections, and historical wildlife data. The system will identify suspicious behavior that may indicate poaching, such as unusual animal movement, sudden loss of GPS signals, unauthorized human or vehicle activity near protected areas, or repeated activity around wildlife corridors.

$$ \text{Poaching Risk} = \text{Unusual GPS Pattern} + \text{Camera Evidence} + \text{Historical Risk Data} $$

Instead of only showing raw data, the agentic system will investigate possible threats, connect related events, estimate risk levels, and notify forest officials with clear reasons and recommended actions. This can help teams respond faster, protect endangered animals, and improve wildlife conservation through data-driven monitoring.

Built With

Share this project:

Updates

Submission history