惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
M
MIT News - Artificial intelligence
D
Docker
S
SegmentFault 最新的问题
B
Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42
C
Check Point Blog
GbyAI
GbyAI
美团技术团队
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
MangoGuard — Edge AI That Detects Mango Diseases in the F...
Eyobel · 2026-06-03 · via DEV Community
Cover image for MangoGuard — Edge AI That Detects Mango Diseases in the Field

Eyobel

GitHub “Finish-Up-A-Thon” Challenge Submission

Submission for the GitHub Finish-Up-A-Thon Challenge

Mango farming is a lifeline for millions of smallholder farmers in Ethiopia.
A single fungal outbreak can silently destroy 20–30% of a harvest before a
farmer even recognises it. Existing solutions require a lab, a specialist,
or reliable internet. None of those exist where the problem is worst.

MangoGuard runs AI directly on a microcontroller smaller than a credit card
— no cloud, no Wi-Fi, no lab.

An Arduino Nano 33 BLE Sense runs a quantized MobileNetV1 model that
classifies mango leaf disease in under 2 seconds at 86.45% accuracy on real
Ethiopian farm data. The Nano also reads live temperature and humidity via a
DHT22 sensor and sends everything — disease result, temp, and humidity — to a
Raspberry Pi 4 gateway, which evaluates environmental disease risk against
agronomic thresholds, runs a 24-hour AI forecast model, and generates
plain-language recommendations
pushed directly to farmers based on current
conditions.

Everything streams to a React dashboard in real time via WebSocket.


From the dashboard you can:

  • Monitor live environmental readings and disease risk
  • Run a cloud scan from your phone — upload any leaf photo for instant AI classification, no hardware required
  • View a 5-day disease risk forecast calendar
  • Browse your full scan history in the logs section

The dashboard is fully bilingual — English and Amharic (አማርኛ) — because
agronomists advising Ethiopian farmers shouldn't have to work in a language
that isn't theirs.

Under the hood, every scan is saved to a PostgreSQL database. The admin
dashboard
exposes this data as a labeled dataset that can be used to
retrain and improve the model over time as more field data comes in.

🌐 Live Demo: https://mango-guard.vercel.app/
📂 GitHub: https://github.com/SCIFI-Shinobi/Intelligent-Mango-Health-Monitoring


The Comeback Story

The hackathon prototype worked — but only on my machine, with undocumented
secrets, and no way for anyone else to run it. Here's what I shipped to fix that:

  • Rewrote the README from scratch — setup guide, env variable reference, troubleshooting for the 7 most common failures
  • Added ARCHITECTURE.md, DEPLOYMENT.md, and CONTRIBUTING.md
  • Fixed .gitignore which was blocking .env.example files from being committed
  • Documented all 10 required environment variables (previously scattered in source code)
  • Added GPL-3.0 LICENSE — the repo had no legal clarity before
  • Fixed a real production bug — I had set scan intervals to 20 seconds and forecast to trigger after 3 readings for demo convenience. The forecast model was actually trained on a 24-reading window (one per hour). In the field it was producing numbers that looked valid but weren't. Fixed: scanIntervalMs = 3600000UL, forecast threshold ≥ 24.

A stranger can now fork, configure, and deploy this in under 20 minutes.


Copilot Experience

Copilot saved the most time on the backend — main.py grew past 3,000 lines
and it was excellent at continuing repetitive patterns: email templates,
database migration helpers, route structure. Once I wrote the first, it nailed
the second.

During the polish phase, asking Copilot to review the README flagged that I
had no troubleshooting section and no env variable docs — exactly what a
first-time contributor needs. It also helped clean up firmware comments after
I fixed the production bug.

It spotted multiple ESLint warnings, duplicate translation keys, and unused imports/variables that were silently compiling locally but completely blocking production builds on Vercel CI.

The honest limitation: it continues patterns well but won't proactively tell
you what's missing. You have to ask the right question first.


Built to bridge the gap between AI and smallholder agriculture in Ethiopia. 🌱