Back to ProjectsProduction Deployed

Project Case Study

AgroGuard

Crop Issue Reporting & Expert Advisory Support Platform

AgroGuard helps farmers document crop issues with photos, location, farm context, and crop records, then connects those reports to admins and verified experts for structured advisory support.

React Native / ExpoNestJSPostgreSQL / PrismaAWS S3Next.js DashboardOffline SQLite Drafts
AgroGuard mobile app home dashboard showing quick access to reports and farms

Problem

  • Farmers often report crop issues informally through phone calls or WhatsApp messages.
  • Important details like photos, farm context, crop records, location, and timeline are easily lost in informal channels.
  • Experts and admins need structured, consistent data to review and track cases properly.
  • Without a system of record, there is no way to follow up, assign, or track the full lifecycle of a crop issue.

Solution

AgroGuard turns informal crop complaints into structured, trackable advisory workflows. The platform connects farmers, admins, and verified experts in a single report lifecycle:

1Farmer submits a structured crop issue report through the mobile app.
2App captures farm, field, crop record, symptoms, date, location, and photos.
3Images are uploaded privately to AWS S3 using pre-signed URLs — no public media.
4Admin reviews incoming reports and assigns them to verified experts.
5Expert can request more information, send advisory, escalate, and track follow-up.
6Farmer receives in-app notifications and can submit follow-up responses.

Product Walkthrough

Step 1

Farmer logs in

Step 2

Farmer manages farms, fields & crops

Step 3

Farmer creates a report

Step 4

Farmer adds symptoms, date, location & photos

Step 5

Farmer submits the report

Step 6

Admin assigns the report

Step 7

Expert reviews and sends advisory

Step 8

Farmer receives notification & follows up

Mobile App

The farmer-facing mobile app built with React Native and Expo. Farmers manage farms, fields, and crop records, then create structured crop issue reports with photos, location, and context.

AgroGuard — Home Dashboard

Home Dashboard

Farmer landing screen with quick access to reports, farms, and notifications.

AgroGuard — Farms

Farms

Farmers manage their registered farms with names and locations.

AgroGuard — Fields

Fields

Fields within each farm, tracked individually for crop context.

AgroGuard — Crop Records

Crop Records

Crop records tied to specific fields, including planting details.

AgroGuard — Reports List

Reports List

All submitted crop issue reports with status badges.

AgroGuard — Report Wizard — Details

Report Wizard — Details

Structured report form capturing symptoms and context.

AgroGuard — Report Wizard — Location

Report Wizard — Location

Location capture for precise farm-level issue tracking.

AgroGuard — Report Wizard — Review

Report Wizard — Review

Review summary before submitting the report.

AgroGuard — Report Wizard — Photos

Report Wizard — Photos

Photo upload for visual evidence of the crop issue.

AgroGuard — Notifications

Notifications

In-app notifications when advisory or updates arrive.

Advisory & Notifications

When an expert sends advisory on a report, the farmer receives an in-app notification and can read the advisory note directly in the app.

AgroGuard — Advisory Notification

Advisory Notification

Farmer receives an in-app notification when expert advisory is sent on their report.

AgroGuard — Report Detail After Advisory

Report Detail After Advisory

Farmer reads the expert's advisory note on the report detail page, with option to submit a follow-up response.

Offline Drafts

Reports can be drafted offline and saved locally via SQLite. When connectivity returns, drafts are synced to the backend automatically.

AgroGuard — Offline Drafts & Retry

Offline Drafts & Retry

Reports drafted offline are saved locally via SQLite and automatically synced when connectivity returns. Drafts can be retried if submission fails.

Admin & Expert Dashboard

The Next.js dashboard serves both admins and verified experts. Admins manage incoming reports, assign them to experts, and monitor activity through audit logs. Experts review assigned reports, request more information, send advisory notes, and track follow-up — all within a role-based interface.

AgroGuard — Admin Dashboard

Admin Dashboard

Overview of all crop issue reports, stats, and expert workload.

AgroGuard — Admin Report Detail & Assignment

Admin Report Detail & Assignment

Admin report detail view with assignment panel for routing reports to verified experts.

AgroGuard — Expert Advisory Form

Expert Advisory Form

Expert review interface for sending advisory notes, requesting more information, and tracking follow-up on assigned reports.

Architecture

Mobile App

React NativeExpoTypeScriptSQLite Offline Drafts

Backend API

NestJSREST APIsJWT Access/RefreshRBAC

Database

PostgreSQLPrisma ORM

Media Storage

AWS S3 Private BucketPresigned UploadsSigned Read URLs

Admin Dashboard

Next.jsTypeScriptTailwind CSS

Auth & Security

JWTArgon2Role-Based AccessObject-Level Auth

System Diagram

  Mobile App (React Native / Expo)
      │
      ├──▶ NestJS REST API ──▶ PostgreSQL (Prisma ORM)
      │         │
      │         └──▶ AWS S3 (presigned uploads, signed reads)
      │
  Admin Dashboard (Next.js) ──▶ NestJS REST API
      │
  Expert Dashboard (Next.js) ──▶ NestJS REST API

  Offline: SQLite local drafts → sync when online
  Auth: JWT access/refresh tokens, RBAC, object-level auth

Technical Highlights

Object-level authorization
Private S3 media workflow
Offline report drafts
Advisory safety rules
Role-based admin/expert dashboard
In-app notifications
Audit logging
Report lifecycle state machine

Security & Privacy

JWT authentication with refresh token rotation
Argon2 password hashing
Role-based access control (Admin, Expert, Farmer)
Object-level authorization — farmers can only access their own data
Experts can only access reports assigned to them
S3 bucket is private — no public media URLs
Signed URLs for media access expire automatically
Audit log for all admin and expert actions
Advisory language avoids guaranteed diagnosis — expert-reviewed only

Video Demos

Mobile Farmer Workflow

Mobile farmer workflow — real app walkthrough

Admin Dashboard Demo

Outcome

  • Production deployed: mobile app, backend API, and admin/expert dashboard all live
  • End-to-end farmer-to-expert advisory workflow in active use
  • Offline-ready report creation for low-connectivity environments
  • Privacy-conscious media handling with private S3 and signed URLs
  • Currently in test-user trials — farmers, admins, and experts actively using the platform with strong positive feedback

Future Roadmap

  • Push notifications for advisory and assignment updates
  • Multi-language support: Yoruba, Hausa, Igbo
  • Real-time notifications via WebSocket
  • Expert workload analytics and assignment balancing
  • AI-assisted triage as non-final, expert-reviewed support

Let's Build Together

Interested in products like AgroGuard?

I'm open to full-time roles, contract work, and founder collaborations in agri-tech and full-stack product engineering.