Inspiration
It started with a cow eating the flowers in our garden. I wondered how villagers settle problems like this and interviewed a worker at our local administration. She told me everyone uses one big WhatsApp group chat. By the end of the interview, she mentioned something much bigger: vaccination. According to the local veterinarian, hundreds of cows and horses in our village died of foot-and-mouth disease, mostly because many farmers don’t vaccinate and nobody reminds them. The veterinarian is the only one for the whole village. I asked him what would make farmers take better care of their animals, and Moo grew out of that conversation.
What it does
Moo is a mobile app (PWA) with two cabinets for one village, Nizhny-Chuy.
Farmers see the vaccination deadline of each animal, get reminders 30, 7 and 1 day before it expires, and book an appointment with the vet in one tap. They earn trophies and points for vaccinations and climb the village ranking. If a deadline is missed, the trophy is lost. This is what keeps them coming back. The veterinarian opens appointment slots (published in the village feed automatically), manages the queue, and confirms each vaccination. He sees a map of the village with every house colored by vaccination status, can message groups of farmers (for example, everyone overdue), and sees village-wide statistics. Only a vet-confirmed vaccination earns a trophy, so the ranking can’t be faked. Farmers can also identify a stray animal by photographing its muzzle, and talk with neighbors and the vet in chats.
How we built it
A PWA in vanilla JavaScript, Supabase (Postgres with row-level security) for data, Leaflet and a 3D village map, and MobileNet embeddings for muzzle recognition. We built it in VS Code with an AI coding agent.
Challenges we ran into
Muzzle recognition is harder than expected. For now we use cosine similarity with a species gate, a confidence threshold and a margin between the top matches. It is good enough to demo, and accuracy is the first thing we will improve. We also had to rethink the whole product halfway: it began as a “find the owner of a lost animal” app, and the interviews showed that vaccination was the bigger problem.
Accomplishments that we’re proud of
We found a real problem by talking to the people who live with it, and shaped the product around the real workflow between a farmer and the only vet in the village.
What we learned
The best problem was not the one we went looking for. We started with a cow in a garden and found a vaccination crisis only because we asked people. Talk to the people who actually have the problem before you build.
What’s next for Moo
Works without a connection. Villages often have a weak signal, so we are making Moo work offline, including the chat. Messages written without a connection will be saved on the phone and sent automatically when the signal comes back. Verification by an access code. Everyone who joins Moo, farmers and veterinarians alike, will register with an individual access code that I issue as the project admin. This keeps the app limited to people from our village and keeps strangers out. Veterinarians additionally submit their license number and a photo of the license, which I review personally. Next, I will build an AI agent that handles these requests automatically for our village: it will answer people who ask to join, collect their details and prepare the application for my review. Moo is built for our village, not as a global app, so this process fits our scale.
An AI assistant for farmers. Farmers will be able to ask a farming agent for advice about their animals, feeding and care, and learn more about farming.
Daily tasks. Feeding, cleaning, hygiene and care will earn bonus points, so farmers open the app every day, not once a year.
Vaccine forecast. The app will calculate how many doses the veterinarian needs and when, so he can prepare in advance.
A full application. If we receive funding, we will turn Moo into a complete product for more villages, with a proper verification process for veterinarians and the services around it.
Built With
- css
- cursor
- getusermedia
- html
- javascript
- localstorage
- mobilenet
- postgresql
- pwa
- service-worker
- supabase
- supabase-auth
- supabase-edge-functions
- tensorflow.js
- three.js
- vercel
- webgl


Log in or sign up for Devpost to join the conversation.