SlopScore
00 crowd

kamerplanter

Agricultural technology system for plant lifecycle management
Open repo on GitHub Open the demogithub.com/nolte/kamerplanter
Python · ★ 1 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 1 hour ago by nolte · last checked 28 minutes ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-09-26: Agricultural technology system for plant lifecycle management; its own README says "Built with AI This project is a vibe coding experiment — built almost entirely through conversational AI prompting with Claude Code (". 1 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as nolte. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
Agricultural technology system for plant lifecycle management
website
https://nolte.github.io/kamerplanter
topics
agriculturefastapihelmkubernetesplant-managementreact
created
2026-02-25 · pushed 43 minutes ago · 1478 commits · 3 contributors
release
v0.4.1 · 2026-09-18
languages
Python 73%TypeScript 27%Shell 0%Dockerfile 0%Jupyter Notebook 0%JavaScript 0%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 28 minutes ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
cssdockerfilehtmljavascriptjupyter-notebookpythonshelltypescript
topic (detected)
agriculturefastapihelmkubernetesplant-managementreact
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: Agricultural technology system for plant lifecycle management; its own README says "Built with AI This project is a vibe coding experiment — built almost entirely through conversational AI prompting with Claude Code (". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

Kamerplanter Banner

Kamerplanter

Backend CI Frontend CI Docker Lint & Build Skaffold Verify License: MIT Docs

Kamerplanter is a self-hosted plant lifecycle management system for indoor and outdoor growing — covering everything from seed to harvest.

Whether you're a home grower managing a grow tent, a houseplant owner trying to keep your plants alive, a hobby gardener planning raised beds and crop rotations, or running a community garden with shared responsibilities — Kamerplanter adapts to your experience level and scale. It supports vegetables, herbs, houseplants, and ornamentals with nutrient planning, growth phase tracking, adaptive care reminders, photo-based plant identification, a knowledge assistant, and Home Assistant integration.

Why Kamerplanter?

  • One place for everything — master data, growth tracking, nutrient plans, pest management, and harvest in a single system instead of scattered spreadsheets and notes
  • Knows your plants — growth phase state machine with GDD (Growing Degree Days), VPD (Vapor Pressure Deficit), and photoperiod targets guides you through each stage. Perennial cycles and crop rotation built in.
  • Takes care of reminders — adaptive care schedules learn from your confirmations, adjust to seasons and hemispheres, and cover 9 care presets from tropical to cactus
  • Calculates your nutrients — fertilizer mixing with EC budgets, mixing order safety (CalMag before sulfates), flush protocols, tank management with tap/RO/mixed water sources
  • Protects your harvest — integrated pest management with Karenz safety intervals that block premature harvest, resistance tracking to prevent overuse of treatments
  • Connects to your smart home — Home Assistant custom integration for sensor data import and actuator control, closing the monitoring-to-action loop
  • Answers your questions — RAG-based knowledge assistant with pluggable LLM backends (Anthropic, Ollama, OpenAI-compatible) for plant care advice grounded in your data
  • Scales from windowsill to community garden — multi-tenancy with role-based access (admin/grower/viewer), personal and shared gardens, invitation system
  • Adapts to your skill level — beginner/intermediate/expert modes control UI complexity, navigation depth, and form field visibility
  • Identifies plants from a photo — snap a picture and Kamerplanter names the species (and diagnoses leaf diseases) in seconds, then links it to your master data. Built right into onboarding, so you go from photo to full care setup in under 30 seconds. Privacy-first and optional: a self-hosted recognition engine is the goal, with the Pl@ntNet free tier as a fallback — no cloud account required.
  • Enriches your data automatically — GBIF and Perenual adapters fill in botanical details, CSV import for bulk data, iCal export for your calendar app
  • Self-hosted and private — runs on your own hardware, no cloud dependency, GDPR-aware design with retention policies

Tech Stack

Layer Technology
Backend Python 3.14+, FastAPI, Celery, Authlib
Frontend React 19, TypeScript 6, MUI 9, Redux Toolkit, Vite 8
Knowledge Service FastAPI, pgvector, ONNX embeddings, cross-encoder reranking
Plant Recognition Pl@ntNet API, self-hosted DINOv2 image matching
Primary DB ArangoDB 3.11+ (documents + graph)
Vector DB PostgreSQL 18 + pgvector
Time-Series DB TimescaleDB 2.13+
Cache / Queue Redis 7.2+ (Valkey)
Smart Home Home Assistant custom integration
Orchestration Kubernetes, Helm, Skaffold
Testing pytest, vitest, Selenium E2E

Containers

Kamerplanter is composed of the following services. Core services start by default; optional services are enabled via Docker Compose profiles (vectordb, ollama, timescaledb) or their dedicated Skaffold modules.

Container Image / Base Role Default
backend kamerplanter-backend (FastAPI) REST API and business logic (5-layer architecture) ✅ Core
celery-worker kamerplanter-backend Asynchronous background tasks (enrichment, care reminders, imports) ✅ Core
celery-beat kamerplanter-backend Scheduler for periodic tasks (retention, watering, reminders) ✅ Core
frontend kamerplanter-frontend (React + nginx) Web UI served as static assets via nginx ✅ Core
arangodb arangodb:3.12 Primary database — documents + graph (species, lineage, companion planting) ✅ Core
valkey valkey/valkey:9 Redis-compatible cache and Celery broker/result backend ✅ Core
vectordb kamerplanter-vectordb (PostgreSQL 18 + pgvector) Vector store for RAG embeddings and image-match vectors ⚙️ vectordb
knowledge-service kamerplanter-knowledge-service (FastAPI) RAG-based plant knowledge assistant with pluggable LLM backends ⚙️ AI
embedding-service kamerplanter-embedding-service (ONNX Runtime) Text embedding generation for RAG (no PyTorch at runtime) ⚙️ AI
reranker-service kamerplanter-reranker-service (ONNX Runtime) Cross-encoder reranking to improve RAG retrieval quality ⚙️ vectordb
inference-service kamerplanter-inference-service (ONNX Runtime) Self-hosted DINOv2 image matching for plant & pest recognition ⚙️ AI
ollama ollama/ollama Local LLM inference backend for the knowledge assistant ⚙️ ollama
timescaledb timescale/timescaledb:2.28 Time-series store for sensor data with automatic downsampling ⚙️ timescaledb
knowledge kamerplanter-knowledge (busybox) Init container — copies knowledge-base YAMLs into a shared volume ⚙️ Init

Quick Start

cp .env.example .env      # configure passwords
docker compose up --build  # start all core services

Open http://localhost:8080 and log in with demo@kamerplanter.local / demo-passwort-2024.

Optional services (AI assistant, time-series) can be enabled via Docker Compose profiles. For Kubernetes-based development with hot-reload, see the Skaffold setup below.

Development

Prerequisites: Docker, Skaffold, a local Kubernetes cluster (Kind/k3s/minikube), Task (optional), Node.js 25+, Python 3.14+.

task setup                                        # create Kind cluster
skaffold dev --trigger=manual --port-forward      # full stack dev loop

Common tasks via Taskfile:

task test:backend       # pytest (821+ tests)
task test:frontend      # vitest (198+ tests)
task test:e2e           # Selenium E2E
task lint:backend       # ruff
task lint:frontend      # ESLint
task ha:deploy          # deploy HA integration to pod
task docs:serve         # MkDocs local preview
task claude             # Claude Code + nolte portfolio plugins loaded

task claude starts Claude Code with the nolte-shared + nolte-engineering portfolio plugins loaded from a local claude-shared checkout (override its path with NOLTE_CLAUDE_SHARED). See CLAUDE.md §"Claude Code plugin adoption".

Documentation

Full documentation (architecture, API reference, guides) is available at nolte.github.io/kamerplanter.

Related Repositories

Kamerplanter is complemented by companion projects, each with its own focus:

  • kamerplanter-ha — Home Assistant custom integration (HACS). Surfaces plant phases, nutrient dosages, tank levels, and care tasks as native HA entities, services, and Lovelace cards, so dashboards and automations can build on your grow without leaving Home Assistant.
  • kamerplanter-android — Native Android (Kotlin) companion app. Connects a USB (UVC) microscope for sharp pest macro shots and feeds them into Kamerplanter's upload and pest-identification flow — external UVC cameras aren't reachable from web or cross-platform camera APIs.
  • kamerplanter-goose — Shareable Goose recipes that wire the Kamerplanter and Home Assistant MCP servers into repeatable, parameterized plant-care agent runs ("what needs watering today") invoked by name.

Contributing

Feature branches from develop, PRs against develop. Prefixes: feature/, fix/, chore/, docs/.

Built with AI

This project is a vibe coding experiment — built almost entirely through conversational AI prompting with Claude Code. The specifications, architecture, domain models, backend, frontend, Helm charts, E2E tests, and documentation were all developed this way.

License

MIT License. See LICENSE for details.

Read the rest on GitHub

Scan report · 2026-09-26
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review

From the balcony · 0 of 4 clapped

    Crusoe, Schnitzel, Cap'm Slop and Princess read it and passed. Their reasons are on the balcony, with every other verdict.

    Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

    0 comments

    log in to comment.

    report this listing — log in to report