Inspiration
As a licensed Environmental Health Officer, I've spent years watching facility owners across Nigeria fail inspections they could have passed — not out of negligence, but because professional environmental health assessment is invisible to them until an enforcement officer arrives. A food vendor in Ikorodu doesn't know her water storage is a cholera risk. A school administrator in Idah can't see that his drainage system scores a HIGH contamination risk. Professional inspections exist, but they're expensive, slow, and scarce.
I wanted to put a trained inspector in every pocket.
What it does
SanitovaCheck turns any Android phone into an AI-powered WASH (Water, Sanitation, Hygiene) compliance inspector:
- Photo-based assessment — photograph any facility area (water source, kitchen, toilet block, waste disposal) and receive an instant AI-analyzed risk score
- Professional risk reports — detailed assessments with reasoning, calibrated confidence levels, and actionable findings
- PDF compliance certificates — exportable, shareable reports suitable for regulatory filings and facility records (2 free lifetime exports, unlimited with Pro)
- Scan history & tracking — monitor compliance across multiple locations over time
- SanitovaCheck Pro — subscription unlocks unlimited scans, full history, multi-location management, and priority support
How I built it
Android app: Native Kotlin with Jetpack Compose, CameraX for capture, Material 3 design. Built as a solo developer across a two-month window.
AI backend: Flask/Python API on Alibaba Cloud Function Compute, powered by Qwen vision-language models for image analysis and risk reasoning.
Monetization: RevenueCat SDK with a single monthly subscription (sanitovacheck_pro_monthly, NGN 6,450/mo with 3-day free trial), configured through RevenueCat's Product Catalog with the SanitovaCheck Pro entitlement and default offering.
Store journey: Navigated two Play Console rejections (health-app category restriction, test-key crash), recruited 29 beta testers via Google Form, completed a full 14-day closed test with 12+ opted-in testers, and shipped to production.
Challenges I faced
- Play Console health policy: My first submission was rejected for selecting "Disease prevention and public health" — a category requiring an Organization account since August 2024. I re-scoped the app positioning, removed the Medical store tag, and resubmitted successfully.
- RevenueCat test-key crash: A production crash on launch day, caught by testers within hours. Root cause: the app was configured with a RevenueCat test API key instead of a production key tied to a real Android app entry. Fixed by creating the real app entry in RevenueCat, swapping in the production key, and resubmitting — all within a single day.
- Android 15+ 16KB page-size alignment: Required bumping CameraX from 1.3.4 to 1.4.1 to meet new Play Store requirements.
- App icon asset orphaning: Image Asset Studio's "Name" field defaulted away from
ic_launcher, orphaning new assets while the manifest still pointed to old ones. Caught by regenerating with the correct default name.
What I learned
- Real users surface issues no emulator can — the test-key crash was found by a tester in minutes, not by my own testing across weeks
- AI risk calibration matters more than raw accuracy: in one Idah LGA test case, the model correctly held at MEDIUM risk rather than overclaiming, which built more user trust than a confident wrong answer would have
- RevenueCat's server-side product configuration is powerful — pricing, trials, and offerings can be adjusted without app rebuilds
What's next
- Video capture for richer WASH evidence assessment
- Structured guided prompts alongside photo analysis
- Suggested treatment/remediation actions for risk scores below 5
- iOS version once Android traction is established
Built With
- alibaba-cloud-function-compute
- android
- camerax
- flask
- google-play
- jetpack-compose
- kotlin
- material
- python
- qwen
- revenuecat
Log in or sign up for Devpost to join the conversation.