Farmers make planting decisions worth thousands of dollars based on gut feeling and outdated almanacs. We wanted to ask: what does 15 years of actual USDA data say about which weather patterns destroy yields - and which ones don't matter as much as people think?
So we built Harrow, a weather-to-yield intelligence platform that visualizes how weather impacts corn and soybean yields across 32 US states (2010–2024). It features a 3D interactive map of the US, linear regression models comparing weather's effect on corn vs soybeans, economic profit comparisons by state, extreme weather event case studies with analysis of why some states defied expectations, and are working to implement an AI-powered crop advisor chatbot.
With the help of Claude, we used a series of different services to build the site: Frontend: React 19 + Vite, Three.js (React Three Fiber) for the 3D map, Recharts for data viz, Framer Motion for scroll animations, Zustand for state management Data pipeline: Python (pandas, scikit-learn, scipy) processing USDA RMA county yield reports and NOAA weather station data into JSON Analysis: Standardized linear regression across 6 weather features, Pearson correlations, anomaly detection via residuals > 1.5 standard deviations
It was difficult to map 3D coordinates between d3-geo projections and Three.js world space. At some point, our centroids were inverted (clicking North Dakota centered on Texas) until we traced the coordinate transform through the rotation matrix. Weather explains only 15% of corn yield variance (R²=0.15) — we had to be honest that soil quality, irrigation, and seed genetics matter more than weather for corn, while soybeans are far more weather-dependent (R²=0.40)
It was also hard to make data visualizations that non-technical people actually understand — we iterated from showing R² values and p-values to plain language like "Heat stress is the #1 soybean killer (30% of model weight)"
We are very proud of the 3D map with camera-following lighting, smooth state selection, and monthly yield heatmaps. It is also exciting to find that heat stress days (>95°F) are the single strongest predictor for soybeans (r = -0.67) while temperature collectively drives 71% of the corn model. Knowing this, farmers can make informed decisions.
We learned that weather is a much bigger deal for soybeans than corn. That there is a lot of intricacy, and national averages are misleading; the 2021 heat dome barely moved the national corn number while devastating the Dakotas. We found after trying random forests that linear regression, with standardized coefficients, is surprisingly interpretable for feature importance. You don't always need complex models to get useful insights.
What's next for Harrow
- Add county-level drill-down (we have the data, just need the viz)
- Incorporate real-time weather forecasts to predict upcoming season yields
- Expand beyond corn and soybeans to wheat, cotton, and sorghum
- Build a mobile-friendly version for farmers to check in the field
- Fully implementing the chatbot
Built With
- d3-geo
- express.js
- framer-motion
- github
- google-gemini-api
- javascript
- pandas
- python
- react-19
- recharts
- scikit-learn
- scipy
- three.js-(react-three-fiber)
- usda-rma-yield-data
- vite
- zustand
Log in or sign up for Devpost to join the conversation.