Skip to content

Roadmap Item: Release 0.7 — Recommendations

Status

PROPOSED

Date: 2026-02-07

Changelog

Date Revision Description Author
2026-02-07 1.0 Initial version @souperk

Context

With consumption tracking, inventory, prepared foods, and recipes in place, the system has enough data to provide actionable recommendations. Users want to know what to cook based on current inventory, what to eat soon based on expiring items and leftovers, and what to buy next based on consumption rates and low-stock signals. These features close the loop on the daily food management workflow.

Proposal

Overview

Recommendation engine covering what to cook, what to eat soon, and what to buy next, driven by inventory state, consumption history, and expiry data.

Goals

  • What to cook now: recipes matching current inventory (fully cookable + almost cookable)
  • What to eat soon: expiring batches, expiring prepared foods, oldest leftovers
  • What to buy next: consumption rate analysis, low-stock detection, restock predictions
  • Frequently cooked recipes: usage patterns for quick access
  • Unified "daily briefing" endpoint combining all recommendations

Non-Goals

  • ML/AI-based recommendations (future consideration)
  • Social features or household-level recommendations
  • Third-party recommendation service integration

Technical Details

Approach

  • Recommendation service aggregating data from inventory, prepared foods, recipes, and activity history
  • Consumption rate calculation from InventoryActivity and PreparedFoodActivity records
  • Heuristic scoring for recipe suggestions (ingredient coverage, expiry urgency, variety)
  • Low-stock detection comparing current quantities to consumption rates

Dependencies

  • v0.6 must be complete
  • Prepared foods from v0.2, recipe suggestions from v0.2, activity history from v0.1

TDs

  • TD-007: Recommendations (planned)

Backwards Compatibility

  • New read-only endpoints; no changes to existing APIs
  • Recommendations are derived from existing data, no new required fields

Implementation Plan

Phase 1: What to Cook

  • Recipe recommendation service (inventory matching + scoring)
  • GET /recommendation/cook endpoint
  • Tests

Phase 2: What to Eat Soon

  • Expiry urgency scoring across batches and prepared foods
  • GET /recommendation/eat endpoint
  • Tests

Phase 3: What to Buy Next

  • Consumption rate analysis service
  • Low-stock detection
  • GET /recommendation/buy endpoint
  • Tests

Phase 4: Daily Briefing

  • Unified recommendation endpoint
  • GET /recommendation/briefing endpoint
  • Tests

Open Questions

  • How far back should consumption history look for rate calculation?
  • Should recommendations be cacheable or always computed on-the-fly?
  • How to balance variety vs inventory optimization in recipe suggestions?

References

  • TBD