Kiwi by Circuit Forge LLC — Pantry tracking + leftover recipe suggestions; barcode/receipt OCR
Find a file
pyr0ball 33a5cdec37 feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements
- cloud_session.py: CLOUD_AUTH_BYPASS_IPS with CIDR support; X-Real-IP for
  Docker bridge NAT-aware client IP resolution; local-dev DB path under
  CLOUD_DATA_ROOT for bypass sessions
- compose.cloud.yml: thread CLOUD_AUTH_BYPASS_IPS from shell env; document
  Docker bridge CIDR requirement in .env.example
- nginx.cloud.conf + nginx.conf: client_max_body_size 20m for barcode uploads
- barcode_scanner.py: EXIF orientation correction (PIL ImageOps.exif_transpose)
  before cv2 decode; rotation coverage extended to [90, 180, 270, 45, 135]
  to catch sideways barcodes the 270° case was missing
- llm_recipe.py: CF-core VRAM lease acquire/release wrapping LLMRouter calls
- tasks/runner.py + config.py: COORDINATOR_URL + recipe_llm VRAM budget (4GB)
- recipes.py: per-request Store creation inside asyncio.to_thread worker to
  avoid SQLite check_same_thread violations
- download_datasets.py: HF_PARQUET_FILES strategy for repos without dataset
  builders (lishuyang/recipepairs direct parquet download)
- derive_substitutions.py: use recipepairs_recipes.parquet for ingredient
  lookup; numpy array detection; JSON category parsing
- test_build_flavorgraph_index.py: rewritten for CSV-based index format
- pyproject.toml: add Pillow>=10.0 for EXIF rotation support
2026-04-01 16:06:23 -07:00
app feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements 2026-04-01 16:06:23 -07:00
docker/web feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements 2026-04-01 16:06:23 -07:00
frontend feat: recipe + settings frontend — Recipes and Settings tabs 2026-03-31 19:20:13 -07:00
scripts feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements 2026-04-01 16:06:23 -07:00
tests feat: cloud auth bypass, VRAM leasing, barcode EXIF fix, pipeline improvements 2026-04-01 16:06:23 -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)