Crop Picker Platform
Hub for the Crop Picker platform at crops.every.farm, a public crop screener that scores alternative crops for a region and indexes all documents describing how it works end to end.
Public crop-screener at crops.every.farm. This hub indexes every document that describes how the Crop Picker platform works โ end to end, from ingestion to cache to the user's browser.
๐ Status: Live in production. Regions: Lake Erie Concord Grape Belt, Finger Lakes. Farm-level matching at
/api/v1/recommend. ๐งฑ Stack: Nuxt 3 ยท Vue 3 ยท Supabase (Postgres + PostGIS) ยท Vercel
#What it is
Crop Picker is a cited catalog of alternative and underutilized crops, built to be queried with a farm's conditions. An Every.Farm agent sends a field's zone, season length, heat accumulation, soil texture, drainage, pH, infrastructure and economics to /api/v1/recommend and gets back crops worth trialling, each with a per-criterion verdict and the source behind it. On the public site each crop also carries a regional snowflake score across five axes (market fit, climate fit, infrastructure fit, financial return, risk profile). Users can:
- FAO land evaluation: every recommendation carries an FAO suitability class (S1 highly, S2 moderately, S3 marginally suitable, N not suitable) naming the limiting land qualities, and crop systems (guilds, intercrops, alley and understory systems, rotations) can be evaluated as a whole at
/api/v1/systems/evaluate, after the FAO Framework for Land Evaluation and D.G. Rossiter's framework. - Match my farm (
/match): describe a farm โ region preset or explicit climate, soil, site (frost pockets, light), infrastructure, economics, crops already grown โ and get the ranked catalog with a per-criterion verdict for each crop, a crop ร criterion verdict matrix, and the documented interactions with what the farm already grows. The conditions live in the URL, so an agent can hand a grower a pre-filled link. - Browse the full catalog with rich filters (category, revenue bounds, insurance availability, etc.)
- Dive into a single crop's economics, climate envelope and site attributes, soil preferences, market channels, risks, price history, named cultivars, and what grows with or should be kept away from it
- Crop interactions (
/interactions): about 1,640 cited crop-to-crop relations as a network โ shared pests, allelopathy, rotation effects, nitrogen credits, alley and understory pairings, intercrops, trap crops and pollinator partners โ with the evidence one click away, plus a combination checker that scores any set of crops you are considering together and a guild finder that surfaces sets of crops that all mutually benefit, and the trials that would grow them. Growers can run those trials with the on-farm intercropping protocol, which measures land equivalent ratio and per-acre value - Compare 2โ6 crops side by side
- Find local buyers who purchase a given crop (PostGIS-backed proximity search)
Every data point in the catalog carries a source citation and appears in an append-only audit log โ a core design principle of the platform. Where a value is not yet cited, the matching endpoint says so per criterion rather than hiding it.
#Relationship to Every.Farm
Crop Picker is a focused spinoff that serves the wider Every.Farm ecosystem as its crop knowledge base. It runs at its own domain with its own Supabase project and stores no farm data: Every.Farm holds the farm, Crop Picker holds the crops, and /api/v1/recommend is the contract between them.
See Integration with Every.Farm for the planned merger path.
#Where to start
| Doc | For |
|---|---|
| Data Model & Schema | Every table, every join, the snowflake model, regional pattern |
| Crops API | Public REST surface at /api/v1/* |
| Caching & Performance | Edge caching, region handling, invalidation |
| Security | Access model, data provenance, reporting issues |
| Integration with Every.Farm | Spinoff โ ecosystem integration plan |
| Platform | Hosting, release process, availability, integrating with the API |
| On-Farm Intercropping Trials | Field protocol and data sheet for measuring land equivalent ratio and per-acre value of crop mixes |
#Fast facts
- 17 public API endpoints under
/api/v1/*โ fully documented; nine serve from origin (/recommend,/systems/evaluate,/interactions,/interactions/guilds,/regions/presets,/crops,/crops/compare,/buyers,/audit-log); the other eight are cached at the edge. - 5 snowflake axes ร 6 checks = 30 scoring points per crop per region.
- RLS enabled on every application table; anon key is read-only, service role is server-only.
- Edge cache on crop detail pages, the screener and static enums (1 hour, 10 minutes and 24 hours), keyed on the full URL for API routes so query parameters are honoured; see the caching page.
- Public read-only today; authenticated, per-farm features are part of the Every.Farm integration roadmap.
#Current scope
Two regions are active: the Lake Erie Concord Grape Belt, which carries the regional economics and prices, and the Finger Lakes, which has its own suitability scores and climate baseline and reuses the Lake Erie economics; a third, the Chautauqua Uplands (Allegheny Plateau), is a climate preset only. Each preset's zones, growing degree days, frost-free season and rainfall are cited to NOAA 1991โ2020 normals and the 2023 USDA hardiness map. For the matching endpoint a region is only a preset of climate defaults โ any farm's own conditions can be sent directly, in any region. Adding a region preset is a DB-only task: insert a row into public.regions with its climate baselines (and is_active=false until it has regional economics) and /regions/presets, the picker and /recommend pick it up automatically.
#In this section
Updated
Something missing or out of date? Tell us โ the docs are updated with every release.