-
-
Geodesis, a climate digital twin and research agent for Mekong Delta rice farming, built on NVIDIA Nemotron and Nebius Token Factory.
-
The agent inside the Geodesis workspace, next to the farm map and what-if simulation.
-
The answer: actions, risks and limits, written by Nemotron 3 Ultra from the live forecast and web evidence.
-
Numbered sources from Tavily. Code checks every citation against the real search results.
-
Agent at work: Nemotron plans the searches, then a live forecast and Tavily web search run in parallel, streamed step by step.
Inspiration
Every dry season, saltwater pushes further up the rivers of Vietnam's Mekong Delta and damages rice and orchards. The 2016 and 2020 salinity crises showed how costly a late decision can be. The data farmers and officials need (weather, soil, news, market prices) exists, but it is scattered across sources and hard to turn into a clear "what should I plant, and why?". We wanted a tool where you pick a place, change the climate scenario, ask that question in plain words, and get an answer that shows where every claim came from.
What it does
Geodesis is a map-first digital twin of the Mekong Delta with a research agent on top. Click a location or move the 2026–2050 timeline, and every metric, recommendation and chart updates. Then ask the agent a question about what you are looking at.
- Geodesis Agent: a multi-step workflow with a live run trace. A fast NVIDIA Nemotron model plans which web searches to run. The app then pulls a live 16-day forecast (Open-Meteo) and web evidence (Tavily) in parallel. The largest Nemotron on the account reasons over everything and writes the actions, risks and limits. Code then verifies the answer.
- Every claim is labelled: engine (the simulated twin), forecast (live weather), evidence (a numbered, clickable web source) or assumption (the model's own judgement). Only evidence claims can cite a source, and a citation that does not match a retrieved source is removed.
- Explainable crop recommendations: a rule-based engine scores crops on weather, soil, market, satellite and historical factors. Every number shows its formula, confidence and data source.
- Economic view: revenue, cost, profit, ROI, payback and subsidy eligibility for each option.
- Scenario builder: adjust rainfall, salinity and water-saving (AWD) adoption with live sliders.
- Role dashboards: separate views for farmers, cooperatives, government analysts and researchers.
- Live operations: a satellite-point feed and an SMS alert dispatch preview (simulated).
- English or Vietnamese answers.
The core idea is that the scoring stays deterministic and auditable:
$$\text{confidence} = \sum_i w_i \, s_i$$
where each factor score \( s_i \) is shown with its weight \( w_i \). The language models sit on top of the engine as researchers and narrators, not decision-makers. They cannot change a number.
How we built it
- Front end: React 18, TypeScript and Vite, with Leaflet for the map, Recharts for charts and Tailwind CSS for styling.
- Models: every model call goes through Nebius Token Factory's OpenAI-compatible API, from a Vercel serverless function, so the key never reaches the browser.
nvidia/Nemotron-3_5-Lightningis the fast planner and fallback. The reasoner is the largest Nemotron available (in production,nvidia/Nemotron-3-Ultra-550b-a55b), discovered at runtime fromGET /v1/modelsinstead of being hard-coded. - Evidence: Tavily runs up to three searches per question. Results are de-duplicated and the best six become numbered sources. Open-Meteo gives the forecast for the exact coordinates. Web text is treated as untrusted data, and the model never supplies URLs.
- Verification in code: JSON schema check, citation check, confidence capped at medium, and the "simulated data" and "outside the Mekong Delta" notes added by code. If a reply fails, one repair pass runs, then a fallback model.
- Data for the twin: Open-Meteo (weather), ISRIC SoilGrids (soil) and OpenStreetMap Nominatim (geocoding). If a source is unreachable, the app falls back to labelled demonstration data, so it always works.
- Quality: TypeScript strict mode, ESLint, 86 Vitest tests (45 for the agent and its client, with the network mocked) and a CI pipeline. A live evaluation script runs eight fixed cases against production.
Measured on the live site (8 runs, with web search): all 8 completed, median about 9.4 s end to end (range 8.3–15.8 s), 6 web sources per run, the first model reply passed verification every time, and no run needed the fallback model. Eight runs is a small sample, so treat it as indicative.
Challenges we ran into
- Reasoning models spend tokens thinking before they answer. Our first run with web search needed three repair passes and had two runs of over a minute. The cause was a 2,200-token output cap that cut the JSON off. Raising it to 3,500 and shortening the prompts fixed it, and we re-ran the evaluation to confirm.
- Keeping the AI useful without letting it override the engine. The agent receives the finished recommendation and can only explain and extend it. The simulated-data and out-of-scope notes come from code, not from the model.
- Untrusted web text. Search results can contain anything, so the model gets them as quoted data and every URL is checked against what Tavily actually returned.
- Model IDs are not stable names (
Nemotron-3_5-LightningversusNemotron-3.5-Super-VL), so we discover them at runtime. - Honesty about our own demo. An earlier version showed model-accuracy figures we could not support. We removed them and labelled all simulated data. Removing them was worth more than keeping impressive-looking numbers.
What we learned
Explainability matters more than accuracy claims in agriculture. People act on a recommendation when they can see why it was made and where it came from. A larger model helps, but the checks around it matter more: labels on every claim, citations verified in code, and a clear statement of what the system cannot know. We also learned to measure how often a model misbehaves instead of assuming it never does.
What's next
Run the agent with farmers and extension officers and record where it is wrong. Calibrate the what-if model against real yield and salinity records, replace the simulated satellite layers with real Sentinel data, add a real SMS gateway, and have the Vietnamese output reviewed by a native speaker. Today the twin runs on simulated data, and Geodesis is a decision-support demonstration, not a validated forecasting tool.
Built With
- framer-motion
- leaflet.js
- nemotron
- nvidia
- open-meteo
- openstreetmap
- react
- recharts
- tailwindcss
- typescript
- vercel
- vite
- vitest
Log in or sign up for Devpost to join the conversation.