Inspiration
I grew up in a village where the nearest reliable internet connection was a forty-minute boda ride away, past two rivers that flooded every rainy season and cut us off completely for weeks at a time. My grandmother has farmed the same plot of land my whole life. When her maize started yellowing one year, she had no one to ask but the neighbors who were guessing just as hard as she was. The extension officer who covers our whole area would visit maybe once a month, if the roads allow it. By the time he came, half the crop was already gone.
What it does
Akanna is an offline advisor that sits on a farmer's laptop or phone and answers farm crisis questions the same day they come up, not weeks later. A farmer types in what they're seeing, curling maize leaves, holes in the whorl, a sick goat, water still standing in the field days after rain, and Akanna walks them through what to check and what to do with what they already have on hand. Nothing leaves the device. It draws on six playbooks I wrote covering the crises that actually put a season at risk: drought, pest outbreaks, flooding, livestock disease, storage loss after harvest, and sudden price crashes at the market. When it isn't enough, it says so plainly and tells the farmer to go find the extension officer or vet instead of guessing.
How we built it
I started from the constraint, which is: 8 GB RAM, no GPU, no internet during use. My choice was Qwen2.5-1.5B-Instruct, quantized to GGUF Q4_K_M (~1.1 GB), running through llama.cpp. I tested it against smaller models (0.5B), bigger models like Phi-3-mini, but that took up too much RAM and other quant levels (Q3_K_M) started losing the thread on multi-part questions before settling .
Domain adaptation happens through careful system-prompt design rather than fine-tuning. framing the assistant's role and its answer style for a non-specialist reading on a shared device and safety guardrails was critical
Challenges we ran into
No fine-tuning the model RAM compatibility issues
Accomplishments that we're proud of
A model that fits the 8 GB allowance Zero network calls during inference
What's next for Akanna
Fine-tuning on real extension-service data once we can source it like turning the current prompt-based adaptation into something trained directly on the domain. Local language support beyond English: Swahili, Hausa, Yoruba: since the people who need this most often don't work primarily in English. A lightweight offline knowledge cache (crop calendars, regional pest guides) the model can reason over locally, without ever needing a live connection. Field testing with actual extension officers because the only thing that matters is whether it helps someone standing in a field.
Log in or sign up for Devpost to join the conversation.