# ๐Ÿฅ Kiwi > *Part of the CircuitForge LLC "AI for the tasks the system made hard on purpose" suite.* **Pantry tracking and leftover recipe suggestions.** Scan barcodes, photograph receipts, and get recipe ideas based on what you already have โ€” before it expires. **LLM support is optional.** Inventory tracking, barcode scanning, expiry alerts, CSV export, and receipt upload all work without any LLM configured. AI features (receipt OCR, recipe suggestions, meal planning) activate when a backend is available and are BYOK-unlockable at any tier. **Status:** Beta ยท CircuitForge LLC --- ## What it does - **Inventory tracking** โ€” add items by barcode scan, receipt upload, or manually - **Expiry alerts** โ€” know what's about to go bad - **Recipe browser** โ€” browse the full recipe corpus by cuisine, meal type, dietary preference, or main ingredient; pantry match percentage shown inline (Free) - **Saved recipes** โ€” bookmark any recipe with notes, a 0โ€“5 star rating, and free-text style tags (Free); organize into named collections (Paid) - **Receipt OCR** โ€” extract line items from receipt photos automatically (Paid tier, BYOK-unlockable) - **Recipe suggestions** โ€” four levels from pantry-match to full LLM generation (Paid tier, BYOK-unlockable) - **Style auto-classifier** โ€” LLM suggests style tags (comforting, hands-off, quick, etc.) for saved recipes (Paid tier, BYOK-unlockable) - **Leftover mode** โ€” prioritize nearly-expired items in recipe ranking (Premium tier) - **LLM backend config** โ€” configure inference via `circuitforge-core` env-var system; BYOK unlocks Paid AI features at any tier - **Feedback FAB** โ€” in-app feedback button; status probed on load, hidden if CF feedback endpoint unreachable ## Stack - **Frontend:** Vue 3 SPA (Vite + TypeScript) - **Backend:** FastAPI + SQLite (via `circuitforge-core`) - **Auth:** CF session cookie โ†’ Directus JWT (cloud mode) - **Licensing:** Heimdall (free tier auto-provisioned at signup) ## Running locally ```bash cp .env.example .env ./manage.sh build ./manage.sh start # Web: http://localhost:8511 # API: http://localhost:8512 ``` ## Cloud instance ```bash ./manage.sh cloud-build ./manage.sh cloud-start # Served at menagerie.circuitforge.tech/kiwi (JWT-gated) ``` ## Tiers | Feature | Free | Paid | Premium | |---------|------|------|---------| | Inventory CRUD | โœ“ | โœ“ | โœ“ | | Barcode scan | โœ“ | โœ“ | โœ“ | | Receipt upload | โœ“ | โœ“ | โœ“ | | Expiry alerts | โœ“ | โœ“ | โœ“ | | CSV export | โœ“ | โœ“ | โœ“ | | Recipe browser (domain/category) | โœ“ | โœ“ | โœ“ | | Save recipes + notes + star rating | โœ“ | โœ“ | โœ“ | | Style tags (manual, free-text) | โœ“ | โœ“ | โœ“ | | Receipt OCR | BYOK | โœ“ | โœ“ | | Recipe suggestions (L1โ€“L4) | BYOK | โœ“ | โœ“ | | Named recipe collections | โ€” | โœ“ | โœ“ | | LLM style auto-classifier | โ€” | BYOK | โœ“ | | Meal planning | โ€” | โœ“ | โœ“ | | Multi-household | โ€” | โ€” | โœ“ | | Leftover mode | โ€” | โ€” | โœ“ | BYOK = bring your own LLM backend (configure `~/.config/circuitforge/llm.yaml`) ## License Discovery/pipeline layer: MIT AI features: BSL 1.1 (free for personal non-commercial self-hosting)