My friends run a mushroom farm. They asked me for an app.
A few days ago my friends called me. They run Ager Mushroom Farm together. They started five years ago, and after many hiccups and a lot of hard work, the farm is doing well. But the records were still on paper and in heads.
What they wanted was simple to say. One place to see each day's production. How many workers came. How many bags are growing. How many bags went bad. And they wanted it on Android, because that is what everyone at the farm carries.
A farm does not have office internet
Inside a growing shed, signal comes and goes. So the app never depends on it. Every entry is saved on the phone first. When the network comes back, everything syncs on its own, and the screen simply says so. Nobody at the farm has to think about it.
And the whole app is in Tamil, not just the login screen. The people using it work on a farm. The app should speak their language, not ask them to speak its.
- Flutter — one codebase. They asked for Android. iOS came from the same code.
- SQLite on the phone. Every entry is saved on the device first, before any network call.
- Background sync to a FastAPI and PostgreSQL server. When signal returns, records go up. Photos too.
- An admin dashboard for the office, with staff accounts.
- CSV and PDF reports, so the numbers leave the app when needed.
The numbers they asked for, on one screen


Left: the day's records, already synced. Right: one day in numbers — workers, total bags, contaminated bags, and the harvest in kilograms.
On the farm's phones this week.
The Android app is in open testing on Google Play, and the iOS version is with Apple for review. The farm is already entering real days into it. From the first call to phones in hands took about two days — because the app only does the jobs they actually asked for.
If your business still lives in paper notebooks, tell me what one screen should show. That is enough to start.
