NG Assistant
AI farming assistant: chat, cameras, multi-agent, automations
A standalone chat app where farmers ask about crops by text, photo, voice or live phone camera; answers are cards – diagnosis, treatment, weather, irrigation – tied to each plot's data.
- Role
- Founder – product design, UX, front-end, API design
- Year
- 2026
- Status
- Live
Source lives in the ngaiplatform GitHub organisation (private).

01The idea
Problem
There aren't enough extension officers to visit every plot; farmers need advice the moment they spot disease, but online information is scattered and doesn't know their crop's condition.
Insight
An assistant is only useful when it knows your plot – sensors, logs, weather – and knows when to say 'an expert should check this'.
Solution
Chat tied to plots and specialist agents, answering with sourced cards and only permitted products; plus cameras, drones, automations and a RAG knowledge base.
Built for
- Farmers, orchard owners
- Agronomists
- Co-ops managing many farms
Goals
- Grounded, cited, safe answers.
- Usable by voice and camera – minimal typing.
- Connect a backend with a single environment variable.
02Features
- 01
Multimodal chat
Photos, voice, live phone camera; answers as diagnosis, treatment, MRL, weather, irrigation and source cards.
- 02
Farm overview
Plot map by alert status, IoT devices, drones, live cameras.
- 03
Multi-agent marketplace
Weather, rice pest, export durian agents…; build your own after 300 points and 14 active days.
- 04
Automations
By schedule, sensor or crop profile; alerts via Zalo, Telegram, email; open valves, misting.
- 05
RAG knowledge
Upload files, add links, import Google Drive; documents cited as sources in answers.
- 06
Email and Google sign-in
Supabase Auth sign-in/up; guests can still chat within limits.
03Design & decisions
Separate from the website
Why: Chat needs a full-screen app shell, history sidebar, installable PWA – very different from a marketing site.
Skills must be earned
Why: Custom skills unlock at 500 points, 30 days and a system-understanding test – preventing harmful misconfiguration.
A clear API contract
Why: The UI sends POST /v1/assistant/chat with plot, locale and attachments; the backend replaces demo mode without UI changes.
04Architecture
01
Client
- Next.js, PWA, Web Speech, camera
02
Go gateway
- Supabase JWT auth, rate limits, credits
03
Chat service
- FastAPI: images, video, answers, history
04
Data
- Supabase Postgres: core and chat schemas
05Tech stack
Front-end
- Next.js 16 (App Router)
- React 19
- TypeScript
- Tailwind CSS 4
- lucide-react
- Web Speech API
- getUserMedia
- PWA
Auth
- Supabase Auth (email, Google, PKCE)
Planned backend
- Go
- FastAPI
- Supabase Postgres
- Redis
Ops
- Node.js 24 LTS
- pnpm 12
- Playwright (kiểm thử E2E)
- Vercel
- chatbot.ngaitechgroup.com
06Research
Safe recommendations
Only permitted products with dose and pre-harvest interval; risky cases go to experts – in line with AI Law 134/2025/QH15.
Choosing an auth provider
Compared Google Identity Platform (50,000 free MAU, then $0.0055/MAU) with Supabase (Pro $25/month incl. 100,000 MAU, then $0.00325/MAU); chose Supabase because users and roles are my own SQL tables and it can be self-hosted if data must stay in-country.
Source: Supabase – MAU usageUser channels
Farmers use Zalo, Messenger and Telegram more than the web – so guests can chat through these channels without signing up, within credit limits.
07Results
- pre-rendered pages
- 22
- app areas
- 9
- sign-in methods: email, Google
- 2
- console errors in tests
- 0
- Full demo mode that runs standalone for farmers and partners.
- Sign-in/up flows tested: wrong password, existing email, password reset, Google PKCE.
08Demo & gallery
Demo video coming soon
09Lessons
Lessons
- “Farmers prefer tapping and talking to typing – the UI must put that first.”
- “Saying when the AI isn't sure matters more than answering fast.”
Next steps
- Connect the real Go gateway and FastAPI service.
- Zalo OA, Messenger and Telegram channels.