This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.
What I Built
FieldHealth AI is an offline-first community outreach PWA for administrative household visits. It helps a field worker capture observations outdoors, even when connectivity is unreliable, and turn those observations into reviewed records for supervisors.
The worker can speak or type a field note. The AI Assistant extracts the household code, household count, people present, water source, and follow-up needs into the visit form. The worker can edit the proposal, correct missing information, and confirm the record. The workflow includes offline drafts, required-field validation, duplicate protection, a visit register, follow-up tracking, a dashboard, and CSV/JSON export.
This is an administrative reporting tool. It does not diagnose, prescribe, or make clinical decisions.
Demo
Live application: [https://fieldhealth-ai.onrender.com/]
Video: [https://youtu.be/jsZvNvcuiAM]
The accompanying demonstration shows the dashboard, voice capture, AI-assisted form completion, human review, confirmation, follow-up reporting, and CSV export. The app keeps the original observation visible so the worker can compare it with the AI proposal before saving.
Code
Repository: [https://github.com/alphakenz/fieldhealth-ai]
The project contains a Python standard-library server, a mobile JavaScript interface, IndexedDB storage, a service worker, AI adapters, synchronization and conflict handling, automated tests, and Render deployment configuration.
How I Built It
The frontend is a lightweight JavaScript PWA. The Python server uses SQLite for the shared record store, while IndexedDB keeps drafts and visits on the device. The service worker caches the application shell for offline reload. UUIDs, revision checks, duplicate detection, and explicit conflict resolution prevent synchronization from silently overwriting field notes.
The configured hosted AI path uses Google's open-weight Gemma 3 4B IT model through Backboard with OpenRouter as the serving provider. The server requests structured output, validates the returned fields, and rejects unsupported or incomplete values. When a model response is malformed, the application does not invent facts; it falls back only to explicit facts present in the original note and keeps the result for worker review.
The AI Assistant is useful because it bridges the gap between natural field speech and structured reporting. A worker can describe what happened in ordinary language instead of typing every field manually. The assistant proposes the form values, highlights missing information, and leaves the final confirmation to the worker.
Offline capture is deliberately separate from AI availability. A service interruption does not prevent a worker from saving a visit locally. When connectivity returns, pending records can synchronize with the server. AI extraction requires a reachable configured model service; the application does not claim on-device offline inference.
Why Open Innovation Matters
Open application code makes the reporting rules, validation logic, and data flow inspectable and adaptable. The open-weight Gemma model provides a model choice that can be hosted through a provider today and moved to local Ollama inference when the deployment environment supports it. This avoids locking the workflow to one closed model and gives communities a path to evaluate, replace, or locally operate the extraction model over time.
The open approach is especially valuable for field health work because connectivity, privacy, cost, and local adaptation matter. The PWA can capture data locally, the AI proposal is reviewable, and the model adapter can be changed without rebuilding the entire application.
Touch Grass Impact
FieldHealth AI is designed to make the screen the shortest part of the experience. The worker goes to the household, speaks the observation, reviews the generated structure, and returns attention to the community. The application reduces repetitive administrative work without replacing the human relationship at the centre of the visit.
Prize Categories
- Best Use of Backboard — include only after successful live Backboard inference with the documented model.
- Best Use of Render — include only after deploying and demonstrating the application on Render.
Top comments (0)