Kiwi by Circuit Forge LLC — Pantry tracking + leftover recipe suggestions; barcode/receipt OCR
Find a file
pyr0ball 1a493e0ad9 feat: recipe engine — assembly templates, prep notes, FTS fixes, texture backfill
- Assembly template system (13 templates: burrito, fried rice, omelette, stir fry,
  pasta, sandwich, grain bowl, soup/stew, casserole, pancakes, porridge, pie, pudding)
  with role-based matching, whole-word single-keyword guard, deterministic titles
  via MD5 pantry hash
- Prep-state stripping: strips 'melted butter' → 'butter' for coverage checks;
  reconstructs actionable states as 'Before you start:' cooking instructions
  (NutritionPanel prep_notes field + RecipesView.vue display block)
- FTS5 fixes: always double-quote all terms; strip apostrophes to prevent
  syntax errors on brands like "Stouffer's"; 'plant-based' → bare 'based' crash
- Bidirectional synonym expansion: alt-meat, alt-chicken, alt-beef, alt-pork
  mapped to canonical texture class; pantry expansion covers 'hamburger' from
  'burger patties' etc.
- Texture profile backfill script (378K ingredient_profiles rows) with macro-derived
  classification in priority order (fatty → creamy → starchy → firm → fibrous →
  tender → liquid → neutral); oats/legumes starchy-first fix
- LLM prompt: ban flavoured/sweetened ingredients (vanilla yoghurt) from savoury
- Migrations 014 (nutrition macros) + 015 (recipe FTS index)
- Nutrition estimation pipeline script
- gitignore MagicMock sqlite test artifacts
2026-04-02 22:12:35 -07:00
app feat: recipe engine — assembly templates, prep notes, FTS fixes, texture backfill 2026-04-02 22:12:35 -07:00
docker/web fix: nginx /kiwi/ alias for direct port access 2026-04-01 17:06:59 -07:00
frontend feat(frontend): warm organic design overhaul — Fraunces/DM fonts, saffron accent, compact inventory shelf view 2026-04-01 22:29:55 -07:00
scripts feat: recipe engine — assembly templates, prep notes, FTS fixes, texture backfill 2026-04-02 22:12:35 -07:00
tests fix: docuvision fast-path falls through when parse yields no items 2026-04-02 13:49:38 -07:00
.env.example feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements 2026-04-01 16:06:23 -07:00
.gitignore chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
compose.cloud.yml feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements 2026-04-01 16:06:23 -07:00
compose.yml chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
Dockerfile chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
environment.yml chore: add recipe engine pipeline dependencies 2026-03-30 22:30:05 -07:00
manage.sh chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
PRIVACY.md chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00
pyproject.toml feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements 2026-04-01 16:06:23 -07:00
README.md chore: initial commit — kiwi Phase 2 complete 2026-03-30 22:20:48 -07:00

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

Status: Pre-alpha · 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
  • Receipt OCR — extract line items from receipt photos automatically (Paid tier)
  • Recipe suggestions — LLM-powered ideas based on what's expiring (Paid tier, BYOK-unlockable)
  • Leftover mode — prioritize nearly-expired items in recipe ranking (Premium tier)

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

cp .env.example .env
./manage.sh build
./manage.sh start
# Web: http://localhost:8511
# API: http://localhost:8512

Cloud instance

./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
Receipt OCR BYOK
Recipe suggestions 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)