Yard Sloth: walk your yard once, let open agents babysit the garden 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. 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 Yard Sloth is a local-first garden assistant for people who want a cared-for yard without becoming a part-time horticulture researcher. You 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: .ics you can drop into any calendar app. The 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. 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. Video demo: https://youtu.be/AV80gnBCeYw https://youtu.be/AV80gnBCeYw 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. The repository divides responsibilities into distinct subsystems: ├── agents/ CrewAI Agent & MCP Tooling Subsystem │ ├── agent/ Census, Calendar, and Frost watch agents │ ├── assets/ Agent personas, prompt templates & roles │ ├── mcp/ MCP tools live web browsing for weather, frost, care rules │ ├── memory/ Ephemeral in-memory session state zero disk storage │ ├── main.py CrewAI pipeline coordinator │ └── README.md Agents architecture documentation │ ├── server/ 100% Pure Python HTTP Backend │ ├── api/ REST endpoint handlers routes.py │ ├── server/ Multithreaded HTTP server engine & network config │ ├── main.py Python server entry point python3 server/main.py │ └── README.md … Public repo: github.com/myluco/YardSloth https://github.com/myluco/YardSloth All substantive work for this submission landed October 21–22, 2026 initialize → LangGraph judge pipeline → task list polish , inside the Week 3 entry window. Yard Sloth is open-source AI at the core , not a thin wrapper around a single chat API. | Layer | Tech | Role | |---|---|---| | LLM workflows | LangGraph dual judge graph.py , plant-care workflow | Parallel gather calls, then a judge merge | | Inference | Ollama on your machine | Open-weight models; swappable via settings/env | | Tools | MCP web browse | Live horticulture + Open-Meteo —no static care rules.json | | API | Pure Python server/ | REST for the UI | | UI | React + TypeScript | Yard walk, confirm, calendar, tonight | Default Ollama stack each role can be overridden : gemma4:31b-cloud — primary gather / care-profile draft Plant-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. 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. Closed garden apps want your photos, your address, and a subscription. Yard Sloth flips that: A 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 . This session is related to publishing the project to dev Before Yard Sloth, my “system” was: random Notes app bullets, one panicked frost search per cold snap, and pruning guilt. Now: Conservative 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. I'm entering: I'm not claiming categories for tools I didn't integrate MongoDB Atlas, Render, Sentry tracing, etc. . Built for Hacktoberfest 2026 — Slow and Steady . Questions welcome in the comments.