MTN Farms
Farm operations management built for African farmers.
2024
Overview
MTN Farms replaces paper-based farm record keeping with a structured digital system farmers can use directly from the field. The app organises each farming season into a project — and within that project, tracks every dimension of operations: labor hours, land preparation, harvest yields, spraying schedules, and fertilizer applications. It was designed specifically for African conditions — mobile-first, offline-capable, and performant on low-end Android devices.
Our Role
Designed the data model for agricultural projects, built the full Nuxt 3 frontend, set up Firestore persistence, configured offline PWA caching, and designed the green-first UI suited for outdoor use.
Tech Stack
Key Features
Agricultural Project Management
Each farming season is a project with crop type, acreage, and location. Farmers can manage multiple projects simultaneously — a maize plot, a kitchen garden, and a cash crop — each with its own independent tracking data.
Labor Tracking
Log worker names, hours, tasks, and costs for every labor session. Over a season, farmers get a complete record of labor expenditure that can be used for cost analysis and future planning.
Harvest Monitoring
Record harvest dates, yield quantities, and quality grades. Historical harvest data builds a multi-season picture of farm productivity — showing which inputs and practices produce the best results.
Spraying & Fertilizer Schedules
Track pesticide and fungicide applications with product names, quantities, and dates. Fertilizer logs capture type, quantity, and application date. Both create an auditable record critical for organic certification and export compliance.
Offline-First Operation
Farmers often work in areas with no mobile signal. The app caches all project data locally via Workbox service workers. Changes made offline are queued and synced to Firestore when connectivity returns.
Project Pinning & Archive
Active projects can be pinned for quick access. Completed seasons are archived rather than deleted, preserving the full historical record while keeping the active project list clean.
How It Was Built
Built with Nuxt 3 (Vue 3 + TypeScript) in client-only mode, optimised for mobile performance. Pinia stores with localStorage persistence hold project data locally, ensuring the app is fast and functional even before the network responds. Firestore acts as the source of truth for all farm data, with JWT-authenticated API calls syncing changes. The data model uses six normalised sub-tables per project (labor, land prep, harvest, spraying, fertilizer, progress), each independently queryable. VueUse provides reactive device utilities. The PWA layer is configured with a mobile-first install prompt — the app ships with a 1080×1920 screenshot for the Android install sheet, presenting itself as a standalone app rather than a browser tab.
Highlights
- Six tracking modules per project: labor, land prep, harvest, spraying, fertilizer, progress
- Full offline operation — data queued locally and synced when connectivity returns
- Mobile-first PWA with Android install prompt and standalone display mode
- JWT authentication with localStorage persistence for field use without re-login
- Multi-project support — manage multiple crop cycles and locations simultaneously
- Designed for low-end Android devices common in rural Kenyan farming communities