Members-Only
Recent Talks & Demos are for members only
You must be an AI Tinkerers active member to view these talks and demos.
Building UbuntuAfya - an offline-first mobile AI assistant for Community Health Workers in rural Kenya
See how to build an offline AI assistant for rural health workers using on-device LLMs, with practical techniques for resumable downloads, multilingual safety, and adapting open-source tools.
I built UbuntuAfya — an offline-first mobile AI assistant for Community Health Workers in rural Kenya, where the main feature is a GGUF LLM running directly on a $150 Android phone that CHWs can talk to about patient symptoms — in Kiswahili (still revamping) or English — with zero internet.
Demo context:
The honest builder story is: we didn’t start from scratch — we started from the right place.
We found PocketAI, an open source Flutter app that runs GGUF models on-device via llama_flutter_android (llama.cpp on ARM64 Android). The architecture was exactly what we needed — model download, storage management, streaming inference, chat UI. We adapted it and asked: what if this was a medical tool for someone walking 10km through rural Kenya with no signal?
Here’s what we built on top of it — and the demo shows all three:
- The offline AI symptom checker — the big one We swapped in MedGemma — Google’s medical-domain Gemma variant, quantized to GGUF. A CHW describes patient symptoms and MedGemma streams a structured response directly on the Android chip — what it could be, what to do, when to refer. No API key. No server. No signal. I’ll show the model loading, the streaming tokens, and the resumable download system I built so a CHW on patchy 3G doesn’t lose a download when signal drops.
- The AI patient history report When connectivity returns, one tap on any patient’s visit timeline sends their full history to openai/gpt-4o-mini via OpenRouter. Back comes a structured plain-text medical analysis — probable conditions, recommendations, warning signs — formatted to print directly from the phone.
- Speech_to_Text - lets CHWs describe symptoms by voice. flutter_tts reads AI responses back aloud. The system detects language automatically and responds in kind. The medical safety guardrail — no diagnosis, no prescriptions — is written in both languages inside the system prompt, so it can’t be bypassed by switching languages.
The interesting builder question the demo answers: how do you take a general-purpose open source LLM tool and responsibly adapt it for healthcare in a low-resource, multilingual, offline field setting?
Dart-based Flutter app integrating MedGemma to assist community health workers.
- MedGemmaMedGemma is a suite of open-weights medical AI models from Google DeepMind designed for high-accuracy clinical reasoning and multimodal image analysis.Built on the Gemma 3 architecture, MedGemma provides developers with specialized 4B and 27B parameter models optimized for healthcare environments. These models excel at interpreting complex medical data (including chest X-rays, MRIs, and EHR records) while maintaining a small enough footprint to run on a single GPU. With a 87.7% score on the MedQA benchmark and the ability to process high-dimensional histopathology slides, MedGemma serves as a robust foundation for building privacy-preserving clinical assistants and automated diagnostic tools.
- llamaMeta's open-weights LLM family optimized for high-performance local deployment and custom fine-tuning across 8B to 405B parameter scales.Llama 3.1 delivers state-of-the-art performance through a flagship 405B parameter model trained on 15 trillion tokens. It supports a 128k context window: ideal for analyzing massive datasets or long-form documentation. Developers utilize Llama for diverse tasks (multilingual translation, Python code generation, and complex reasoning) while maintaining data sovereignty via local hosting. The ecosystem includes the Llama Stack for agentic workflows and optimized weights for 8B and 70B models, ensuring high throughput on consumer hardware or enterprise clusters.
- llama_flutter_androidA high-performance Flutter plugin for running Llama 2 and Llama 3 models locally on Android via the llama.cpp C++ library.This implementation bridges Dart and C++ to execute large language models directly on Android hardware. It utilizes the llama.cpp backend to ensure memory efficiency and hardware acceleration (GGUF format support). Developers can integrate offline inference into mobile apps with minimal overhead, leveraging specific optimizations for ARM-based processors and local storage. The package includes a clean API for model loading, tokenization, and real-time text generation.
- FlutterFlutter is Google's UI toolkit: build, test, and deploy natively compiled applications for mobile, web, and desktop from one codebase.Flutter is Google’s open-source UI software development kit (SDK), designed for crafting beautiful, high-performance applications across six platforms (iOS, Android, web, Windows, macOS, and Linux) from a single codebase. It uses the Dart programming language and leverages a reactive, widget-based architecture for its UI. The key productivity feature is Hot Reload, which allows developers to see code changes reflected in the running app in milliseconds, without losing application state. This efficiency, combined with its native compilation to ARM or Intel machine code, ensures fast performance and a consistent, pixel-perfect user experience on every screen.
- OpenRouterOpenRouter: The unified API gateway for hundreds of LLMs, providing single-endpoint access, automatic fallbacks, and cost-optimized routing across all major providers (e.g., OpenAI, Anthropic, Google).OpenRouter is your single, high-efficiency API gateway to hundreds of LLMs from over 60 providers, including OpenAI, Anthropic, and Google. We eliminate the integration complexity: one API key, one endpoint, zero code rewrites when switching between models like GPT-5 or Claude Sonnet 4.5. The platform automatically handles dynamic routing for cost-optimization, pools provider uptime for superior reliability, and consolidates all usage into a single billing dashboard. Expect minimal impact on performance: we operate at the edge, adding approximately 15ms latency, and maintain full compatibility with the OpenAI SDK.
Compose Email
Loading recent emails...