Uganda Livestock Information Tracking System (ULITS)
National multi-platform information system for livestock registration, movement tracking, vaccination records, and disease surveillance. Built for the Ministry of Agriculture.
The problem
Uganda has millions of cattle and no single record of where any of them are. A district office knew its own herds; the district next door did not. When disease broke out, tracing which animals had moved through an infected area meant phone calls and paper ledgers, and by the time the picture was assembled the animals had moved again. Livestock is also where a great deal of rural wealth sits, so a stolen herd was very hard to prove stolen.
What I built
One national register, and a movement permit that cannot be issued without it. Every animal is ear-tagged and registered once, against an owner and a holding. Moving animals between districts requires a permit that names the exact tags travelling, and those tags are re-scanned at each district boundary. If the scan does not match the permit, the consignment stops there.
How it works
An animal is registered once, on a phone, against its owner, its holding and its GPS position. The tag number becomes its identity for life.
A movement permit lists the specific tags travelling, the route and the window it is valid for. It is issued by a district officer, not requested by post.
Checkpoints re-scan the tags. A tag that is not on the permit, or a permit outside its window, fails at the roadside rather than in an office weeks later.
Vaccination and treatment are recorded against the tag, so an animal carries its own medical history wherever it goes.
A disease alert works backwards through movement records: every holding an infected animal passed through is listed in seconds, not weeks.
What it had to survive
No network
Field officers work in districts with no reliable signal, so the app captures everything on the device and uploads when a connection returns. Nothing is lost and nothing waits for coverage.
No smartphone, sometimes
Farmers get status and alerts over SMS and USSD, because a system only half the country can reach is not a national system.
Audit
It is a government register: every record is attributable to a named officer, and roles decide who can see and change what, across web, Android and iOS alike.
Staff turnover
District officers rotate. The interface has to be learnable in a morning, and it was — training ran across multiple districts.
What it does
Delivered
- Offline-first architecture for use in low-connectivity rural districts.
- GPS/GIS integration for movement tracking and disease surveillance.
- Role-based access control across web, Android and iOS clients.
- SMS/USSD notifications and MySQL database administration.
- User training conducted across multiple districts.
Built with
Want to see it work?
Most of these run inside a ministry, a hospital or an NGO and are not open to the public. I can walk you through the real thing on a call and answer whatever you want to poke at.