smart agriculture iot · flutter, firebase, getx
AgreeCare
A smart-agriculture app that puts live field readings and irrigation control in a farmer’s pocket.

Overview
Sensors are only half the problem
Field data that reads clearly on a phone
AgreeCare pulls sensor readings — soil moisture, temperature, humidity — into a Flutter app backed by Firebase, and turns them into a screen someone can act on standing in a field. Thresholds, alerts and irrigation controls sit one tap from the dashboard rather than behind a settings tree.
The problem
Sensor hardware produces a stream of numbers. On its own that is not useful to the person standing in a field deciding whether to irrigate — the data exists, but the decision it should support does not.
The goal
Turn a raw feed of soil, temperature and humidity readings into a single screen someone can read outdoors, one-handed, and act on immediately.
How it was built
- 01Discovery
Designing for sunlight and one hand
The app is used outdoors, often one-handed, often on a mid-range device. That set the constraints early: high-contrast type, large tap targets, and a dashboard that answers whether a field needs water right now before it answers anything else.
- 02Development
Live data without a stuttering UI
Firebase streams readings into the app while GetX keeps state, routing and dependency injection out of the widget tree. Incoming values update the dashboard reactively, so the interface stays responsive even as readings arrive continuously.
- 03Strategy
One layer at a time
Data model first, then the read-only dashboard, then control and alerting on top. Each layer was usable on its own, which kept the hardware side and the app side able to progress independently.
Project details
- Role
- Mobile design and development
- Type
- IoT mobile application
- Stack
- Flutter, Firebase, GetX
Key features
- Live soil moisture, temperature and humidity from Firebase
- Dashboard that answers whether a field needs water before anything else
- Configurable thresholds with alerts
- Irrigation control one tap from the dashboard, not buried in settings
- High-contrast type and large tap targets for outdoor use
Challenges
Designing for sunlight and one hand
The app is used outdoors, often one-handed, often on a mid-range device. That ruled out dense layouts and small controls early, and set the constraint that the primary question had to be answered without scrolling.
Continuous data without a stuttering interface
Readings arrive continuously. Keeping state, routing and dependency injection in GetX rather than in the widget tree meant incoming values could update the dashboard reactively without the UI becoming janky as the stream ran.
The Result
A cross-platform app that turns a stream of raw sensor values into a single readable screen — and lets the person reading it act on what it says.
What I learned
Constraints from the environment turned out to be more useful than any feature list. Deciding it had to be readable in direct sunlight, one-handed, settled a dozen later design questions on its own — and building the data model, then the read-only dashboard, then control on top let the hardware and app sides progress independently.
Want something like this built?
Tell me what you have in mind and I will come back with a plan, a timeline and a price.