Inspiration
Anticipate was born from a simple observation: farmers usually discover pests only after damage has already spread, and warnings between nearby farms still travel mostly by word of mouth. Through user research with farmers at the Davis Farmers Market, UC IPM, and the UC Davis Student Farm, we found that earlier alerts could meaningfully reduce crop loss and speed up response times. UC Davis, with its deep ties to agriculture and farm research, was the natural place to build and test this for the farmers of Yolo County.
What it does
Anticipate is a mobile app that lets Yolo County farmers view and report pest activity through a crowdsourced community network. When a farmer spots a pest, they photograph it and our AI pipeline, powered by Google Gemini 3.1 Flash Lite, identifies the species, returns mitigation details and predicts where it's likely to spread. Nearby farmers receive alerts with affected field details, estimated spread distance, and tailored treatment recommendations.
How we built it
Anticipate is a React Native app where farmers log in, select their fields, and label their crops. When a pest photo comes in, Gemini runs multi-turn semantic search over the UC IPM dataset to verify the species, find vulnerable crops, and generate mitigation advice, which we combine with weather context (temperature, humidity, wind speed and direction) from Open-Meteo. We then model spread risk through three signals:
- Wind: we project a downwind cone from the report location and score fields higher when they're close, directly downwind, and growing a vulnerable crop.
- Water/Irrigation: using California irrigation district GIS data, we flag fields in the same district or water-connected region, then filter by crop vulnerability and distance.
- Adjacency: field boundary data lets us spread risk outward crop by crop, first to direct neighbors, then to neighbors of neighbors; keeping only fields with crops UC IPM verifies the pest can affect.
Challenges we ran into
User research revealed that many farmers in remote fields had unreliable Wi-Fi or cell service, so we redesigned the app to support offline reporting through local storage and deferred uploads that sync once connectivity returns. Integrating third-party auth was another hurdle: with Clerk, we discovered late that production required a registered custom domain, our development keys didn't carry over, and we faced malicious traffic and auth failures that pushed us to harden our sign-in infrastructure. We also had to pivot our crop allocation dataset partway through, since the original didn't fit our schema cleanly.
Accomplishments that we're proud of
We're proud that the app stays usable without the internet, farmers can gather field data offline, and everything propagates automatically once service returns. As a team of developers, picking up Figma to design and prototype the interface ourselves was also a meaningful stretch.
What's next for Anticipate
We're focused on expanding beyond Yolo County to more of California, exploring a product-market fit opportunity with pesticide marketing teams who could leverage our classification system, gathering deeper feedback from farmers, and since we're already on TestFlight, the next natural step would be moving towards a full production deployment on to the App Store.
Built With
- clerk
- expo.io
- fastapi
- gemini
- postgresql
- python
- react-native
- react-native-maps
- supabase
- typescript


Log in or sign up for Devpost to join the conversation.