Let your farm
talk to you.
Farmword turns raw sensor signals into a living voice — your field messages you when it's thirsty, when fungal risk is near, or when a node needs attention. No dashboards to babysit. Just the land, speaking plainly.
Raw numbers, translated into plain words.
A sensor reading means nothing on its own. Farmword reads between the lines and tells you, in a sentence, what your field actually needs.
"I'm thirsty. Water zone 3 before noon."
sent to the manager via WhatsApp
"Cool and humid tonight — fungal spore risk. Ventilate the nursery."
sent to the agronomist via Telegram
"I'm running low. Replace my battery this week."
logged in-app + technical alert
Tuned for 5–30 estate plots.
The field keeps speaking, even offline.
FastAPI + EMQX + TimescaleDB.
Only the words that matter.
Listen. Understand. Act.
Listen
Solar sensors whisper MQTT over TLS to an EMQX broker — a constant, quiet pulse from every plot, every 5–15 minutes.
Understand
FastAPI reads between the lines — VPD, Magnus dew point, and moisture deltas — turning data into genuine meaning.
Act
Your farm messages you what to do, in plain words — via WhatsApp, Telegram, or in the field app.
Record
Every reading, field visit, and crop decision is logged to its plot — a permanent ledger you can query, not a feed that scrolls away.
More than an IoT dashboard. A ledger for your land.
Beyond the live sensor feed, Farmword keeps the full story of your farm — every site, plot, and crop, plus the field records your team captures. Even with no signal in the field.
Organize land as sites → plots → crops. Each plot holds its boundary (GeoJSON), crop type, area, and every record attached to it.
Soil tests, pest scouting, harvest logs — captured offline, synced later.
Compressed media linked to each submission, uploaded resiliently.
Idempotent sync keeps one truthful record — no duplicates.
Dew point, VPD & deltas stored alongside raw readings.
Forms aren't hard-coded. The server ships a schema, the Flutter app renders it — new field forms without a new app release.
{
"schema_key": "soil_test",
"version": 4,
"title": "Soil Test Form",
"fields": [
{ "key": "ph_level",
"type": "number",
"required": true },
{ "key": "nitrogen",
"type": "number" },
{ "key": "notes",
"type": "text" },
{ "key": "photos",
"type": "photo_list" }
]
}
No app update needed — the server ships the form, the app renders it.
The voice box behind the voice.
MQTT 5 · TLS 1.3 · QoS 1
Python 3.12 · Pydantic v2
PostgreSQL 16 · PostGIS · farm ledger
Drift · SQLite · SDUI forms
Your farm is already talking. Are you listening?
Give every plot a voice and a memory — sensor alerts, farm and crop records, and offline field data from one affordable VPS.