Foodsai
A smart butler for organizing ingredients and generating recipes when you need them

# Next.js # React # TypeScript # Dexie # LangChain # OpenAI # Python

Overview

Foodsai is a web application for managing food inventory and recipe knowledge in one place. The project is positioned as a smart assistant for household food organization, helping users keep track of what they have and turn it into usable meal ideas.

The app combines inventory records, recipe management, consumption history, multilingual routing, and AI-ready foundations inside a modern Next.js codebase.

Key Features

  • Manage food inventory with categories and detailed item records.
  • Store, search, duplicate, and edit recipes in a structured recipe library.
  • Track consumption history alongside recipe usage.
  • Support guest-mode data storage with a local database workflow.
  • Provide English and Chinese locale-aware routing and translations.

Technical Notes

Foodsai is built with Next.js 15, React 19, and TypeScript. The frontend uses a modern component stack including Radix UI and shadcn-style primitives, while local-first guest data is persisted with Dexie for inventory items, recipes, settings, images, and consumption history.

On the backend side, the project is set up around Next.js route handlers and an AI-ready service layer, with support for provider-based model configuration, API integration, and data-driven assistant workflows. The dependency stack includes Python, LangChain, OpenAI, and Google GenAI, which gives the system a foundation for connecting recipe and inventory data with future AI-powered features.

Future AI System Direction

This diagram represents the intended AI direction for Foodsai rather than a frontend feature that is already fully implemented today.

flowchart LR A["User prompt in chat"] --> B["Foodsai app"] B --> C["Request builder"] C --> C1["Cooking constraints and preferences"] C --> C2["AI provider and model settings"] C --> D["LLM request"] E["Inventory database"] --> T["Data access layer / tool use"] F["Saved recipes"] --> T G["Consumption history"] --> T D -. "optional tool call for context" .-> T T --> D D --> H["LLM response"] H --> I["Recipe suggestions"] H --> J["Meal planning advice"] H --> K["Food usage guidance"] I --> L["Chat UI"] J --> L K --> L