{"slug": "yard-sloth-walk-your-yard-once-let-open-agents-babysit-the-garden", "title": "Yard Sloth: walk your yard once, let open agents babysit the garden", "summary": "A developer built Yard Sloth, an open-source, local-first garden assistant that runs on Ollama-hosted open-weight models and a CrewAI/LangGraph agent pipeline. Users confirm a plant list once, and three cooperating agents (census, calendar, and frost watch) generate a care calendar with .ics export and evening frost alerts, using MCP web browsing for live horticulture and Open-Meteo weather data. Frost thresholds, prune windows, and calendar spacing are enforced in deterministic Python rather than by the model, with a dual-judge LangGraph step resolving disagreements between two parallel research calls.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady](https://dev.to/challenges/hacktoberfest-week3-2026-10-19)*\n\n**Yard Sloth** is a local-first garden assistant for people who want a cared-for yard without becoming a part-time horticulture researcher.\n\nYou enter the name of plants in your yard (in the future, you will take one **yard walk** on your phone—snap photos), tag locations like *\"front bed, left of steps\"*—and confirm the plant list. From there, three cooperating agents:\n\n`.ics` you can drop into any calendar app.\nThe sloth branding is intentional: the app is built for **slow, steady laziness**. You do the one walk; open models and agent workflows do the recurring mental load. You can use it every day to keep your yard in check. Urgent tasks are marked with an urgent icon, so you can see what you really need to do today.\n\n**Local demo:** clone the repo, run `python3 server/main.py` and `npm run dev`, open `http://localhost:3000`. You will need Ollama running with the models configured in settings.\n\n**Video demo:** [https://youtu.be/AV80gnBCeYw](https://youtu.be/AV80gnBCeYw)\n\n**Walk your yard once with your phone, confirm the plant list, and get a care calendar plus evening frost alerts. Everything runs locally on your own machine.**\n\nThe repository divides responsibilities into distinct subsystems:\n\n```\n├── agents/             # CrewAI Agent & MCP Tooling Subsystem\n│   ├── agent/         # Census, Calendar, and Frost watch agents\n│   ├── assets/        # Agent personas, prompt templates & roles\n│   ├── mcp/           # MCP tools (live web browsing for weather, frost, care rules)\n│   ├── memory/        # Ephemeral in-memory session state (zero disk storage)\n│   ├── main.py        # CrewAI pipeline coordinator\n│   └── README.md      # Agents architecture documentation\n│\n├── server/             # 100% Pure Python HTTP Backend\n│   ├── api/           # REST endpoint handlers (routes.py)\n│   ├── server/        # Multithreaded HTTP server engine & network config\n│   ├── main.py        # Python server entry point (python3 server/main.py)\n│   └── README.md\n```\n\n…\nPublic repo: [github.com/myluco/YardSloth](https://github.com/myluco/YardSloth)\n\nAll substantive work for this submission landed **October 21–22, 2026** (initialize → LangGraph judge pipeline → task list polish), inside the Week 3 entry window.\n\nYard Sloth is **open-source AI at the core**, not a thin wrapper around a single chat API.\n\n| Layer | Tech | Role | \n|---|---|---|\n| LLM workflows | **LangGraph** (`dual_judge_graph.py` , plant-care workflow) | Parallel **gather** calls, then a**judge** merge | \n| Inference | **Ollama** on your machine | Open-weight models; swappable via settings/env | \n| Tools | MCP web browse | Live horticulture + **Open-Meteo** —no static`care_rules.json` | \n| API | Pure Python `server/` | REST for the UI | \n| UI | React + TypeScript | Yard walk, confirm, calendar, tonight | \n\n**Default Ollama stack** (each role can be overridden):\n\n`gemma4:31b-cloud`) — primary gather / care-profile draft\nPlant-care refresh is deliberately **three Ollama calls**: `research_a` and `research_b` in parallel, then `judge`. Terminal tracing (`[YardSloth LLM]`) makes it obvious when the sloth is thinking vs. when Python is enforcing dates.\n\n**Model explains, code decides:** frost thresholds (36° / 32° / 28° F), old-wood vs. new-wood prune windows, and calendar spacing are **deterministic Python**—not LLM guesses. That’s how you get trustable alerts without babysitting the model.\n\nClosed garden apps want your photos, your address, and a subscription. Yard Sloth flips that:\n\nA closed API could summarize a blog post about hydrangeas. It couldn’t give me **reproducible frost math**, **calendar exports I own**, and **two-model disagreement resolved by a judge**—unless I paid forever and sent my yard data upstream. Open stacks made the lazy path *local*.\n\nThis session is related to publishing the project to dev\n\nBefore Yard Sloth, my “system” was: random Notes app bullets, one panicked frost search per cold snap, and pruning guilt.\n\nNow:\n\nConservative estimate: **2–3 hours/month** of tab-hopping and calendar thrashing replaced by a Sunday glance and an occasional frost checklist. The sloth wins by doing less, more reliably.\n\nI'm entering:\n\nI'm *not* claiming categories for tools I didn't integrate (MongoDB Atlas, Render, Sentry tracing, etc.).\n\nBuilt for **Hacktoberfest 2026 — Slow and Steady**. Questions welcome in the comments.", "url": "https://wpnews.pro/news/yard-sloth-walk-your-yard-once-let-open-agents-babysit-the-garden", "canonical_source": "https://dev.to/myluco/yard-sloth-walk-your-yard-once-let-open-agents-babysit-the-garden-364a", "published_at": "2026-10-24 16:37:33+00:00", "updated_at": "2026-10-24 16:46:49.260543+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "large-language-models", "agent-protocols", "ai-products"], "entities": ["Yard Sloth", "Ollama", "LangGraph", "CrewAI", "Open-Meteo", "Hacktoberfest", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/yard-sloth-walk-your-yard-once-let-open-agents-babysit-the-garden", "markdown": "https://wpnews.pro/news/yard-sloth-walk-your-yard-once-let-open-agents-babysit-the-garden.md", "text": "https://wpnews.pro/news/yard-sloth-walk-your-yard-once-let-open-agents-babysit-the-garden.txt", "jsonld": "https://wpnews.pro/news/yard-sloth-walk-your-yard-once-let-open-agents-babysit-the-garden.jsonld"}}