跳到正文
DEV Community· Sujah Ameer·· 4 小時前AI 評分29

SlothDrip:以表格 AI 和 Gemma 判斷植物是否需要澆水

SlothDrip: Zero-Touch Plant Watering Decisions with Tabular AI + Gemma

AI 導讀

SlothDrip 是一款離線優先的助手,根據植物狀況預測是否需要澆水,並提供簡短行動指示。它以 TabPFN 估算澆水機率,並在部署時加入 scikit-learn 備用模型;Gemma 經 Ollama 生成指示。預測紀錄儲存在本機 SQLite,無需依賴雲端。

正文

Sujah Ameer

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


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:

  1. Tabular prediction layer (TabPFN approach)

    I use tabular features to estimate watering probability from structured garden conditions.

  2. Natural-language action layer (Gemma via Ollama)

    A local LLM converts numeric prediction into a short, friendly “lazy instruction.”

  3. Offline persistence (SQLite)

    Every prediction is logged locally so users keep plant history without cloud dependence.

  4. 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

Application Window

來源:DEV Community · dev.to