Ani · 3 agents · one AMD MI300X · Track 3 Unicorn

One photo.
A harvest,
sold fresh.

Benguet grows 80% of Metro Manila's vegetables — and up to half rots before it sells. Ani grades a harvest from a single photo, scores its spoilage urgency, and matches it to live NCR demand. Three AI agents, running privately on one AMD Instinct MI300X.

0%
of NCR veg from Benguet
0%
harvest lost to timing
0
one card, three agents
GradeMatchDispatchFresh from BenguetGradeMatchDispatchFresh from BenguetGradeMatchDispatchFresh from Benguet
01 — The problem

It isn't a growing problem. It's a coordination problem.

Farmers harvest blind into gluts, prices crash, and produce is dumped — while there's no cold chain to hold what does sell. The waste is happening this season. Software can fix it now.

0
of Metro Manila's vegetables are grown in Benguet
SRC: WowCordillera · GMA
0
of vegetables lost across harvest → transport → market
SRC: DA · FAO research
0
per kilo — cabbage dumped below cost, used as fertilizer
SRC: Rappler · Nordis 2026
02 — Market opportunity

A cold-chain gap at national scale

Benguet feeds the country's largest market, Metro Manila — and the same grading-plus-matching engine extends anywhere harvest timing and demand are disconnected.

Farmer cooperatives

Better prices and fewer losses on every harvest cycle.

Traders & wholesalers

A demand-matched feed instead of guesswork ordering.

Agri-logistics operators

Coordinated dispatch across farms instead of one truck at a time.

Benguet → Metro Manila today. Southeast Asian cold chains next.

Loss recovery estimate — gross value preserved with Ani (editable)
kg saved per cycle
₱ recovered per cycle
sellable revenue uplift
Sellable share — baseline58%
Sellable share — with Ani83%

Gross-benefit estimate on cited loss rates (DA ~30% general; 42–50% vegetables) — adjust the inputs. It excludes Ani service, hardware, and operating costs, so it is not net ROI or a measured pilot result; see BUSINESS.md.

03 — Tier 1 · the living system

Watch three agents turn a photo into a sale

This is the real product loop. Pick a harvest and run it — the grader, the demand oracle, and the router each do their job in seconds, all on one MI300X.

ani · harvest-grader backend · checking
Post a harvest
✓ Photo read
Gemma vision reading photo…
tap to edit
tap to edit
🧤
Ready when you are
Press “Grade & match” to run the pipeline
Agent trace · grade → match → dispatch
📷
Harvest Grader — fine-tuned Gemma (vision)
Reads the photo; scores quality, ripeness, shelf-life.
→ …
📊
Demand & Price Oracle
Matches the grade to live NCR market demand.
→ …
🚚
Logistics Router
Sequences dispatch, most-perishable first.
→ …
04 — Under the hood

Three tiers. Two env vars. One card.

The UI you just used is only Tier 1. Behind it, a thin contract lets us run against a stub today and the MI300X at showtime — swapping backends is a single variable, never a rewrite.

TIER 1 · WEB / UI

The product

Next.js on a Hugging Face Docker Space. Captures the harvest, streams the agent trace, renders the result.

Next.jsReactDocker · 7860
INFERENCE_BASE_URL
TIER 2 · INFERENCE

The agentic brain

FastAPI orchestrates the 3 agents behind one contract. Backend = stub · fireworks · mi300x.

FastAPIOpenAI-compatSSE
ANI_BASE_URL
TIER 3 · MODELS

One MI300X

vLLM on ROCm serves the Gemma 3 vision grader while FastAPI keeps grading, matching, and dispatch on the same private MI300X host.

vLLMROCmGemma · LoRA

Every layer degrades gracefully to a stub — the demo never hard-fails in front of a judge.

05 — Tier 3 · why AMD is non-negotiable

Measured on one AMD card

The committed ROCm receipts verify the hardware and model load. Ani reports measured values only — no simulated telemetry and no unverified accelerator comparisons.

AMD Instinct MI300X · gfx942 · ROCm Gemma 3 live on ROCm
HBM3 memory · measured153.3 / 192 GB
51.66 GiB
99.42 GiB
38.4 GiB free
Gemma 3 27B · VLM vLLM KV cache Available HBM3
Generation
6.4 tok/s
Prompt ingest
39.8 tok/s
Architecture
gfx942
8K concurrency
22.69×
$ vllm serve google/gemma-3-27b-it --dtype bfloat16
VERIFIED gfx942 · AMD Instinct MI300X · 192GB HBM3
READY Gemma 3 vision + ani-grader LoRA · 185,846-token KV cache
Memory math — why one card
Gemma 3 27B service reservation153.3 GiB
NVIDIA H100 (80 GB)✕ measured runtime exceeds it
AMD MI300X✓ 192 GB verified

The deployment keeps the Gemma vision grader, orchestration, pricing data, and farmer photos on one private AMD host. Measured ROCm logs — not animated estimates — support the Best AMD-Hosted Gemma entry.

The outcome

Benguet won't dump another harvest.
Ani sells it — before it spoils.

The team

Five Builders, One Goal

AV
Angelo Sebaxtian Vasquez
AL
Andre Lacra
JD
JC Diamante
JA
Jan Añonuevo
JM
Jake Manahan