SlothDrip:以表格 AI 和 Gemma 判斷植物是否需要澆水
SlothDrip: Zero-Touch Plant Watering Decisions with Tabular AI + Gemma
SlothDrip 是一款離線優先的助手,根據植物狀況預測是否需要澆水,並提供簡短行動指示。它以 TabPFN 估算澆水機率,並在部署時加入 scikit-learn 備用模型;Gemma 經 Ollama 生成指示。預測紀錄儲存在本機 SQLite,無需依賴雲端。
Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady
What I Built
I built SlothDrip — an offline-first, “lazy gardener” assistant that predicts whether your plant needs watering and gives a simple one-line action.
Instead of manually checking soil every day, users enter a few quick values:
- days since last watering
- average temperature
- humidity
- soil type
The app then returns a clear verdict:
- 💧 WATER
- 😴 DO NOTHING
This saves daily effort for home gardeners and makes watering decisions faster and more consistent.
Demo
- Live App: https://slothdrip-fcc37ir38vccqekd6m7obc.streamlit.app/
- GitHub Repo: https://github.com/AslamSujah/slothdrip
Code
The full source code is available here:
https://github.com/AslamSujah/slothdrip
Main components:
-
app.py→ Streamlit UI -
model.py→ moisture prediction logic (TabPFN + fallback) -
llm.py→ local Gemma/Ollama action-note generation -
db.py→ SQLite logging -
requirements.txt→ dependencies
How I Built It
SlothDrip is built as a local-first AI pipeline:
Tabular prediction layer (TabPFN approach)
I use tabular features to estimate watering probability from structured garden conditions.
Natural-language action layer (Gemma via Ollama)
A local LLM converts numeric prediction into a short, friendly “lazy instruction.”
Offline persistence (SQLite)
Every prediction is logged locally so users keep plant history without cloud dependence.
Simple local UI (Streamlit)
A lightweight dashboard keeps interaction minimal and beginner-friendly.
Note on deployment
During deployment, I handled a TabPFN license/runtime issue by implementing an automatic fallback model (scikit-learn), so the app stays reliable in hosted environments while preserving the same user experience.
Why Does Open Innovation Matter?
Open innovation made this project possible in a practical way:
- No monthly API lock-in for core functionality
- Local-first architecture for privacy-sensitive home data
- Flexibility to combine open-weight model workflows with fallback logic
- Resilience: the app can continue working even if one model path is unavailable
A closed-only API setup would have made this more expensive and less robust for offline or low-connectivity scenarios.
My Agent Session
I built and iterated this project with AI-assisted development workflows, including deployment troubleshooting and model fallback integration.
(If needed, I can update this section with a public session link/embed.)
The Lazy Payoff
SlothDrip reduces repetitive daily checking into a quick decision flow:
- input takes under a minute
- output is immediate and actionable
- logs build a long-term watering history automatically
So the “slow and steady” benefit is real: fewer routine checks, faster decisions, less mental overhead.
Prize Categories
I’m entering the following categories:
- Best Use of TabPFN
- Best Use of Gemma
來源:DEV Community · dev.to
