Android app for furniture quality verification, for buyers in East Africa. Photograph a piece and get a guided quality assessment from Claude.
# Kagua
*Jua kabla ya kununua — know before you buy.*
Android app for furniture quality verification, aimed at buyers in East Africa
(initially Uganda and Kenya). The app walks a buyer through photographing and
physically testing a piece of furniture, then Claude gives a verdict they can act on
before money changes hands.
The Kotlin package stays `com.qualityverifier`, so the repository, the prompt URLs and
the CI secrets are unaffected by the name.
This is **Phase 1: serverless**. The app calls the Anthropic API directly with a key
the user enters once, fetches prompts from this repo over raw GitHub URLs, and keeps
history in a local Room database. There is no backend and no login.
## Install it on a phone
**→ Download the newest build**
Open that link *on the phone*, tap the `.apk` under **Assets**, and confirm the install.
Android asks permission to install from your browser the first time — allow it for
whichever browser you used, then tap the downloaded file again.
On first launch the app asks for an Anthropic API key. It is stored encrypted on the
device and is never sent anywhere but `api.anthropic.com`.
Every merge to `main` refreshes that `nightly` build, so the link above always points at
the newest code. Tagged versions are on the
releases page.
Do not use `/releases/latest` — GitHub never counts a prerelease as "latest", so it skips
`nightly` and lands on whatever was tagged last, or on the release list if nothing has
been. The `tag/nightly` link above is the one that always resolves to the newest build.
Builds published this way are signed with the persistent upload key, so a new one
installs over an older one without uninstalling first.
## Build
Requires JDK 17 and the Android SDK (platform 36, build-tools 36).
```bash
./gradlew assembleDebug
```
```bash
./gradlew testDebugUnitTest
```
`local.properties` points at the SDK and is machine-specific (gitignored) — recreate it
with `sdk.dir= ` when cloning.
Gradle must run on JDK 17; AGP 8. …