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. Data coverage: Lake Erie region (expanding). 🧱 Stack: Nuxt 3 · Vue 3 · Supabase (Postgres + PostGIS) · Vercel
#What it is
Crop Picker helps farmers, researchers, and buyers explore alternative or underutilized crops for a given region. Each crop is scored across five snowflake axes (market fit, climate fit, infrastructure fit, financial return, risk profile) out of 30 total. Users can:
- Browse the full catalog with rich filters (category, revenue bounds, insurance availability, etc.)
- Dive into a single crop's economics, soil/climate preferences, market channels, risks, and price history
- 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.
#Relationship to Every.Farm
Crop Picker is a focused spinoff project that will integrate into the wider Every.Farm ecosystem. Today it runs independently at its own domain with its own Supabase project. The farm_* tables (see Data Model & Schema) are scaffolded for future user-owned data that will sync with Every.Farm's authenticated farmer profiles.
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 SWR, 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 |
#Fast facts
- 10 public API endpoints under
/api/v1/*— fully documented, cached at the edge. - 5 snowflake axes × 6 checks = 30 scoring points per crop per region.
- RLS enabled on every public table; anon key is read-only, service role is server-only.
- 1-hour edge cache on crop detail pages, 10 min on the screener, 24 h on static enums.
- Public read-only today; authenticated, per-farm features are part of the Every.Farm integration roadmap.
#Current scope
The Lake Erie Concord Grape Belt is the only region with complete data today. The platform is architected so adding a region is a DB-only task: populate crop_snowflake_scores.region = '<new-region>', insert a row into public.regions, and the picker picks it up automatically within the edge cache TTL. See Caching & Performance for why no code change is needed.
#In this section
Updated
Something missing or out of date? Tell us — the docs are updated with every release.