Repository navigation
Releases: keylorpineda/healthycropping
Releases · keylorpineda/healthycropping
Release list
v0.2.0 — Offline Android App & Coffee Diagnosis
Added
- Offline-first SQLite persistence (
expo-sqlite,expo-crypto), repository layer for farms, plots, and scans with sync queue metadata, History screen with multi-filter and swipe-to-delete with undo, Scan Detail screen with farm/plot location assignment, and Farms/Plots CRUD screens (#26). - Camera screen with viewfinder framing guide and shutter flash, crop-specific photo tips modal, analyzing sweep-line animation, and result screen with severity progress meter, confidence breakdown, pop-in status badge with haptics, low-confidence retake state, and agronomic disclaimer (
#25). - On-device TFLite inference pipeline (
app/src/ml/) withexpo-image-manipulator,jpeg-jsRGB decoding, training normalization,react-native-fast-tflite, threshold calibration, and Jest cross-platform tensor parity test (#24). - Onboarding (3-slide educational flow with mandatory agronomic disclaimer acceptance), Home (camera-first layout, primary Scan CTA, crop selector chips, offline status pill, and empty state), and Settings screens (instant
es/enlanguage switcher, light/dark theme toggle, model version, dataset licenses) (#23). - Reusable UI component library in
app/src/components/ui/(Button,Card,Chip,Badge,Sheet,Toast,Skeleton,EmptyState,ProgressMeter) with spring micro-interactions, haptics, >= 48 dp touch targets, reduced motion support, and RNTL unit tests (#22). - Agricultural design tokens (
app/src/theme/) covering colors, typography, spacing, radii, elevation, and motion with dark/light themes and WCAG 2.1 AA mathematical contrast tests (#21). ThemeProvideranduseTheme()hook integrating user theme preference with system appearance and reduced motion accessibility (#21).- Expo SDK 52 Android application setup (
app/app.json,app/package.json) with packagecom.keylorpineda.healthycrop, New Architecture, and Expo Router (#20). - Internationalization subsystem (
app/src/i18n/) with Spanish default, English secondary, symmetric translation keys, and mandatory agronomic disclaimer (#20). - Zustand preferences store (
app/src/stores/preferences.ts) managing locale, light/dark/system theme, and onboarding state (#20). - Jest + React Native Testing Library configuration (
jest-expo) with native module mocks and unit tests (#20).
v0.1.0 — Foundation & Coffee ML
Added
- Phase 0 repository foundation, monorepo workspace configuration (
pnpm+uv), and.gitignore/.gitattributes/.editorconfigrules. - GitHub Community Standards (
LICENSE,CODE_OF_CONDUCT.md,CONTRIBUTING.md,SECURITY.md,SUPPORT.md,CITATION.cff,CODEOWNERS, issue templates, PR template, anddependabot.yml). - Project documentation (
AGENTS.md,docs/PLAN.md,docs/ARCHITECTURE.md,docs/DATASETS.md,docs/MODEL_CARD.md,docs/EXPERIMENTS.md,docs/FIELD_VALIDATION.md,docs/DEVLOG.md, and Spanish setup guidedocs/SETUP_SERVICES_ES.md). - CI and release GitHub Actions workflows (
.github/workflows/ci.ymland.github/workflows/release.yml) and empty test suites forapp/,api/, andml/. - Idempotent, SHA-256 verified coffee dataset downloaders (
ml/scripts/download_rocole.py,ml/scripts/download_bracol.py) with truncated-ZIP recovery for BRACOL (#13). - Coffee dataset preparation pipeline (
ml/configs/coffee.yaml,ml/scripts/prepare_coffee.py,ml/src/healthycrop_ml/preprocess.py,dedup.py,split.py) performing EXIF orientation correction,224x224RGB conversion, perceptual-hash deduplication (imagehash.phash), and grouped stratified70/15/15splitting (#14). - Coffee dataset report (
docs/data_reports/coffee.md),224x224sample grid (docs/assets/data_reports/coffee_grid.png), and< 50training-image merging evaluation (#15). - Frozen-backbone
MobileNetV3-Largebaseline training pipeline (ml/src/healthycrop_ml/model.py,evaluate.py,train.py,ml/scripts/train_coffee.py,ml/notebooks/01_coffee_training.ipynb), confusion matrix (docs/assets/confusion_matrices/coffee_baseline.png), and baseline metrics (79.72%test accuracy,0.7135test Macro-F1) indocs/EXPERIMENTS.md(#16). - Top-block
MobileNetV3-Largefine-tuning, validation logit bias calibration (82.75%uncalibrated /81.35%calibrated test accuracy,0.87014-major-class F1), confusion matrix (docs/assets/confusion_matrices/coffee_finetuned.png), and per-class Grad-CAM visual explanations (ml/src/healthycrop_ml/gradcam.py,docs/assets/gradcam/coffee_gradcam.png) (#17). - Float16 TFLite export pipeline (
ml/src/healthycrop_ml/export_tflite.py,ml/scripts/export_coffee_tflite.py):6.06 MBcoffee model at81.12%test accuracy (0.23 ppbelow Keras), validation-calibrated confidence threshold0.79(90.9%accepted precision),ml/models/coffee/registry.json, and the shared preprocessing fixtureml/fixtures/preprocessing_fixture_224.json(#18). - Coffee model card (
docs/MODEL_CARD.md§2): intended use, data, Keras vs TFLite metrics, per-class results with abstention coverage, Grad-CAM, and limitations; TFLite export results indocs/EXPERIMENTS.md(#19).