AMOMS
For Review Version 070301 Prototype Analysis

Avocado Mountain Operations Management System A procurement-and-operations platform that closes the loop from “we need 28,000 kg of Hass” to “the farmer has been paid” — across four role-specific apps at the Murang'a processing plant.

Source · amoms-prototype.vercel.app 80 screens 4 apps React + Babel in-browser Reviewed Jul 2026
4
role-specific apps
80
clickable screens
10
steps, plan → payment
86%
QC pass rate (sample)

AMOMS digitizes the entire chain of sourcing fresh avocados for oil processing — replacing phone calls, paper gate registers, and manual QC logs. Every entity is threaded by reference IDs (PR · PO · SO · AG · GPN) that follow a load from requirement through contract, gate, weighbridge, quality control, and out to payment.

01

The four apps

Each surface is pitched at its user and device — analysis on desktop, offers on a phone, ruggedised capture flows on gate and QC tablets.

Admin · Web

Procurement & Operations

Desktop · Plant Manager (Caroline Wanjala)

Create requirements, broadcast to farmers, score & award offers, sign supply agreements, and manage payments.

Farmer · Mobile

Supplier App

Phone · Suppliers (Mary Wairimu, Esther Njeri…)

Register, receive requirements, submit offers under the rate ceiling, confirm gate-in, e-sign, and track delivery & payment.

Operator · Tablet

Gate & Logistics

Tablet · Gatekeeper (Joseph Kariuki)

Scan QR gate passes, capture truck & driver, run the weighbridge (gross/tare), track on-site dwell, and confirm gate-out.

Operator · Tablet

Quality Control

Tablet · QC Inspector (Naomi Achieng)

Inspect intake from a FIFO queue, run Dry-Matter / FFA / oil-content tests against a matrix, and approve, reject, or hold.

11 · Admin — Core (auth, RBAC, users, audit)
19 · Admin — Procurement
16 · Farmer — Procurement
18 · Operator — Gate & Logistics
15 · Operator — Quality Control
2 · Design System foundations
02

Domain model

One load, one thread of reference IDs. Each entity is created by the step before it and carried forward, so a truck at the gate resolves back to the requirement that started it.

Requirement lifecycle

Draft Open Shortlisting Awarded In delivery Completed

Offer / gate-in lifecycle

New offer Accepted Awaiting farmer Confirmed Arrived Delivering Completed Paid Declined · Not selected · No-show
03

End-to-end process workflow

A real sequence — plan to payment — with each step tagged by the app that owns it. Colour marks the swimlane.

Admin Web Farmer Mobile Gate & Logistics Quality Control
Admin

Plan the requirement

Procurement defines a requirement: variety (Hass / Fuerte / Pinkerton / Local), target quantity, acceptable variance, a rate ceiling (max KSh/kg), delivery window, and response deadline. Bulk creation covers a whole week's plan at once.

AdminFarmer

Broadcast to farmers

Select eligible farmers and preview the farmer-facing card — internal notes and reference codes are never shown — then send across App + SMS + WhatsApp. Example: PR-2026-0184 broadcast to 142 farmers.

Farmer

Submit an offer

The farmer responds with available quantity, a rate at or under the ceiling, a preferred and optional backup delivery date, and notes to the buyer.

Admin

Score & award

Offers stream into a live dashboard, each scored 0–100 and tiered A / B / C by region, rate, and history. The manager sorts and compares, then accepts offers to fill the target — a live tracker shows “12,600 kg still to fill.” Partial allocation is supported (offered 4,000 kg → accepted 3,500 kg).

AdminFarmer

Sign the supply agreement

A digital contract lists awarded farmers in Schedule A and takes a dual e-signature — Plant Manager signs, lead farmer acknowledges, agreement complete.

Farmer

Confirm gate-in

The farmer confirms the delivery slot, which generates the QR gate pass (GPN) the gatekeeper will scan. A reschedule can be requested and is routed back to Admin for review.

Gate

Gate-in & gross weight

Scan the QR pass (or manual entry with a supervisor override for mismatches / late arrivals), capture driver and truck, and run the verification checklist → status becomes Arrived. The weighbridge records gross weight with a mandatory printed-slip photo and an anti-fraud “truck is on the bridge” confirmation.

QC

Quality control

Intake enters a FIFO queue (oldest first, with a “degrades in the sun” prioritisation nudge). The inspector picks the QC type, runs sampling + parameters (Dry Matter %, FFA %, oil content), captures evidence photos and the IMTR checklist. A decision matrix recommends, and the inspector confirms Approve · Reject · Hold.

Gate

Net weight & gate-out

After a QC pass, tare weight yields net delivered kg. The truck moves through warehouse / loading; the gatekeeper confirms gate-out with a full dwell-time exit log.

AdminFarmer

Pay the farmer

Completed deliveries appear in Payments with Outstanding / Pending / In-process / Paid tiles. The manager updates status; payment settles via M-Pesa or bank transfer, and the farmer tracks it in-app.

Interactive flow diagram

first time

Not selected

Accepted

Mismatch

Matched · Arrived

Fail

Borderline

Pass

M-Pesa / Bank

Create requirementqty · rate ceiling · window

Broadcast to farmersApp · SMS · WhatsApp

Farmer viewsrequirement

Register /onboarding

Submit offerqty · rate ≤ ceiling · date

Response dashboardscored & tiered

Accept offerstoward target?

Notify farmer

Digital agreementPlant Manager signs

Farmer signs +confirms gate-in

Scan QR gate pass

Pass matches?

Manual entry /override PIN

Capture truck +verify checklist

Weighbridge GROSS+ slip photo

QC: pick typeIncoming / Prod / Outbound

Sampling & paramsDM% · FFA · oil

Within matrixthresholds?

Reject

Hold for review

Approve

Weighbridge TAREnet = gross − tare

Track on-sitedwell time

Confirm gate-outexit log

Delivery completed

Paymentsupdate status

Paid

Farmer trackspayment

Colour marks the owning app — green Admin · indigo Farmer · amber Gate · clay-red QC. Scroll horizontally on narrow screens.

04

What changed in v070301

This version tightened the gate-in → delivery → payment tail of the process.

Farmer Mobile

  • “Accept gate-in” renamed to “Accept request”; Delivery Completed now shows a Delivered state.
  • Added Delivering & Completed statuses and filters, plus a “Missing a completed order?” path.
  • New onboarding screen before registration — brand, headline, three value props.

Admin Web

  • Added an Arrived state (pill + filter); buyer can revoke a farmer's gate-in confirmation.
  • Dashboard “deliveries awaiting payment” item linking to the payments screen.
  • New Payments screen (ADM-PROC-17) — status tracking with summary tiles.

Gate & Logistics

  • Slide-to-confirm gate-out for finished trucks (warehouse / loading bay).
  • Now multi-truck per gate pass, each with its own photo-capture set.
  • Scan-match sets status to Arrived; exit adds a dwell / net-delivered card.

Quality Control

  • New three QC-type chooser — Incoming, On-going Production, Outbound Sales.
  • Merged Sampling + Parameters into one “Sampling & parameters” screen.
  • Simplified QC-passed summary (full-width); archived two legacy screens.
05

Assessment

What the prototype gets right, and the open questions worth resolving before a build.

Strengths

True closed loop
Planning → sourcing → contract → logistics → quality → payment, with no dead ends. Reference IDs thread cleanly across all four apps.
Role-appropriate surfaces
Desktop for analysis, phone for farmers, ruggedised tablet flows with large keypads, FIFO queues, and offline states.
Anti-fraud & auditability
Mandatory weight-slip photos, “truck on bridge” confirmation, supervisor override PINs, audit log, and a matrix that recommends but leaves the call to the human.
Realistic operational nuance
Partial allocation, reschedule handling, no-show / mismatch states, dwell-time bottleneck hints, and scoring & tiering.

Open questions

Weighbridge ↔ QC ordering
Gross weight is captured before QC, net only after. Confirm the return / rejection-exit path when QC rejects an already-weighed load.
Payment integration depth
Statuses are updated manually. No visible M-Pesa / bank API reconciliation, so accuracy depends on discipline.
No negotiation loop
Farmer offers under a ceiling and is accepted or not — there is no counter-offer mechanism.
QC branches & connectivity
Production / Outbound (FFA) entry points exist but the deep flows are DM-centric; tablets show “Synced” with no visible offline conflict-resolution.
06

Suggested next steps

07

Screen gallery

All 80 screens, captured from the live prototype. Filter by app, then click any screen to enlarge — use ← / → to move through the set.