Wildlife Intelligence Dashboard

Historical wildlife observation patterns across U.S. national parks.

WildWhere AI combines real public GBIF, NPS, NOAA, and visitation datasets into a cleaned SQLite warehouse, analytics layer, machine-learning model, and Streamlit-ready dashboard. This deployed page surfaces the project analytics and prediction workflow with an explicit park-species eligibility gate.

Prediction safety gate enabled

Analytics Overview

1,555Clean reported observation records
5National parks covered
10Target wildlife species
0.876ML test accuracy after eligibility filtering

Reported Sightings By Park

ParkRecords
Yellowstone570
Grand Teton367
Glacier271
Olympic187
Mount Rainier160

Top Reported Species

SpeciesRecords
Elk252
Black Bear203
Mountain Goat192
Grizzly Bear157
Bald Eagle150

Seasonal Pattern

SeasonRecords
Summer700
Spring396
Winter278
Fall181

Estimated Reported-Observation Likelihood

The project uses a two-stage system. First, selected park/species combinations are checked against official park-species reference data. Only documented combinations are evaluated by the model for historical reported-observation likelihood.

Valid Prediction Grid Preview

The deployed preview shows precomputed rows from data/processed/valid_prediction_grid.csv. Unsupported combinations are excluded before model scoring.

ParkSpeciesSeasonTime WindowOutputRecords
Yellowstone National ParkBisonsummerunknownhigh47
Grand Teton National ParkMoosesummermorninghigh28
Mount Rainier National ParkMountain Goatsummermorninghigh52
Grand Teton National ParkMountain GoatsummerunknownInsufficient data3
Olympic National ParkBald Eaglesummerunknownhigh54
Glacier National ParkMountain Goatwinterunknownlow37

Example blocked combination: Bison in Mount Rainier National Park returns Not supported with no model score because the species is not documented for the selected park in the project reference data.

Step 3.5 SerpApi Enrichment

WildWhere AI now includes an optional SerpApi enrichment layer for public search context: named viewing areas, seasonal advice, time-of-day mentions, and source/domain signals. This is supplemental context, not scientific ground truth.

350Search queries planned across park/species/template combinations
0Live SerpApi results collected in this deployment because no API key was provided
1,555Rows in wildlife_features_enriched.csv with zero/unknown context defaults
60Tests passing after prediction-safety patch

Search-context enrichment is optional and depends on configured API credentials. Search-derived context should support interpretation, not replace GBIF, NPSpecies, NOAA, or NPS visitation data.

SQL + Warehouse Layer

The SQLite warehouse includes cleaned tables for parks, species, sightings, weather, visitation, and joined wildlife features.

6SQLite tables
10Portfolio SQL queries
9Processed analytics CSVs
SELECT park_name, common_name, COUNT(*) AS sighting_count
FROM wildlife_features
GROUP BY park_name, common_name
ORDER BY sighting_count DESC;

Data Transparency

17.2%Weather join success
47.5%Visitation join success
1,050Bounding-box-only records
505Coordinate-uncertain records

GBIF records are reported observations collected near parks with bounding boxes. They are not confirmed wildlife presence, real-time tracking, complete wildlife distributions, or true population density.

Project Entry

The deployed Vercel page is the public portfolio preview. The repository also includes a full Streamlit application with entry point app/main.py.

https://wildwhere-ai.vercel.app