Assessor Rural — cattle-ranch management that runs on WhatsApp.
A farm-management SaaS with no data-entry screens for the field team. Ranch hands report herd movements, pasture changes, fuel, machinery and freight by WhatsApp message; an LLM turns the conversation into structured records, and the owner reads the result as a dashboard.
- Client
- Assessor Rural
- Period
- 2026
- Role
- Architect & lead developer
Application code
~5k LOC
Conversation flows
8
Data-entry screens
0
Price
R$197/mo
The problem
Farm software fails for a reason that has nothing to do with software: the person holding the information is standing in a pasture, and no app survives contact with that. The data either gets written on paper and typed in weeks later by someone else, or it is never captured at all.
Meanwhile the owner needs exactly what that person knows — which lot moved to which pasture, how much diesel went into which tractor, what left on which truck.
The solution
The interface is the conversation. There is no app to install and no form to learn: the field team sends a message, and the system asks the two or three follow-up questions it needs to close a complete record.
- Eight distinct flows — livestock, pasture, fuel, machinery, freight, invoices, office and check-in — each with its own confirmation step and correction path, because a wrong answer has to be fixable inside the same conversation.
- Photos and video sent in the chat are stored as part of the record.
- The owner gets the other half: dashboards for herd and pasture occupancy, machine maintenance, stock movements and per-lot reports.
Architecture
A Flask application behind Caddy, with PostgreSQL and media on DigitalOcean Spaces — deliberately small, because the interesting complexity is in the conversation, not the deployment.
- The message router keeps per-user conversational state, so a reply always lands in the flow it belongs to even when several people are reporting at once.
- Claude handles intent recognition and disambiguation — when a product name is ambiguous, the bot asks rather than guessing.
- Every confirmation is explicit: "no" reopens the record for correction instead of discarding what was already typed.
Results
The operation reports in real time from the field, with no tablet, no training and no paper. What began as an internal tool for one ranch became a subscription product with a public landing page and self-service sign-up.
Full stack