Inspiration
MonkeHarvest started as a real microgreens automation build — a Raspberry Pi-powered vertical farm targeting under 2.5 hours of manual work per week. Managing it needed one control surface that works whether you're on the same WiFi as the Pi or across the city, so this app was built to replace a clunky Retool web dashboard with a proper native Android app.
What it does
- Live dashboard for all 5 sensor streams (soil moisture, temp/RH, lux, CO₂, pH/EC) polled off a Raspberry Pi
- Dual connectivity: auto-switches between LAN (mDNS Pi discovery) and Firebase RTDB when off-network, so the farm is controllable from anywhere
- Per-tier actuator control across 3 independent shelf tiers — lighting, irrigation, humidity, CO₂, temperature — supporting mixed species per tier
- Crop profile system with add/edit — each species gets its own thresholds, light schedule, and grow duration
- Batch lifecycle tracking: plant date → harvest → yield → revenue
- AI health scanning via Claude Vision — upload a tray photo, get back a health score and flagged issues (damping off, mould, etiolation, tip burn, uneven germination)
- Dashboard-based alerts (no push spam) and an override audit trail
How we built it
Native Java Android app. Backend runs on a Raspberry Pi 3A+ (Python: sensor_manager, actuator_manager, threshold_engine, schedule_engine, environment_controller) driving an 8-channel relay bank. Firebase RTDB bridges remote access; a Firebase sync listener picks up override commands pushed from the app. Claude Vision API handles image-based health diagnostics. Originally scaffolded from a Retool/Capacitor export, rebuilt into a proper native Android Studio project.
Challenges we ran into
Retool's export wasn't a self-contained buildable project — missing Vite/Tailwind/shadcn scaffolding had to be reconstructed from scratch. Capacitor's local node_modules dependency broke post-extraction, resolved by switching to the Maven artifact. Designing reliable LAN/cloud failover without dropping control mid-session was the core architecture problem.
Accomplishments that we're proud of
A fully working native Android control app with dual LAN/cloud connectivity, per-tier crop profiles, and AI-driven plant health diagnostics — built to run a real revenue-generating farm, not a demo.
What we learned
Retool and similar low-code exports are not self-contained; native rebuilds require reconstructing the full toolchain. Reliable network failover (LAN vs. cloud) needs to be designed in from the start, not bolted on.
What's next for MonkeHarvest
Hardware build-out (rack, sensors, relay wiring), first live grow cycle with the app driving real actuators, and refining AI scan accuracy against real tray photos.
Built With
- android
- android-studio
- capacitor
- claude
- claude-vision-api
- firebase
- firebase-realtime-database
- java
- mdns
- python
- raspberry-pi
Log in or sign up for Devpost to join the conversation.