Project · 2025
Pantry
A self-hosted household inventory and meal-planning app with AI-assisted imports, shared list collaboration, and integrations for Notion and Discord.
- TypeScript
- React
- Express
- Prisma
- SQLite
- Vite
- TanStack Query
- Tailwind
- Radix UI
- Nx
Project snapshot
- Status
- Live self-hosted household inventory system.
- Import
- AI-assisted receipt image import with prepare, review, confirm, confidence scoring, and CSV history.
- Planning
- Recipe library, weekly meal planner, ingredient shortfall calculation, and shopping-list staging.
- Integrations
- Optional planning and notification integrations.
Technical proof
- Nx monorepo with Express, React, Prisma, SQLite, and shared validation schemas.
- HMAC-signed integration keys support scoped API access with IP allowlists and nonce replay protection.
- Admin tooling covers security logs, backup/restore, catalog moderation, and AI provider selection.
What it is
Pantry is a full-stack household inventory manager built as an Nx monorepo with three packages: packages/api (Express 5 + Prisma), packages/web-app (React 18 + Vite), and packages/shared (types and validation schemas). The data layer supports both local and hosted deployments.
The core data model is a pantry list that multiple users can join. Each list owns inventory items, shopping lists, a recipe library, and a weekly meal planner. Members track items by name, brand, category, location, fullness level, purchase date, and expiry date. A dashboard surfaces expiring-soon counts, stock-level breakdowns, and top categories with 30-second auto-refresh.
Key features
Import is a first-class workflow. Users can drop grocery receipt images — up to ten at once — and the API extracts structured item data via OpenAI or a configurable Claude backend. Each import goes through a prepare → review → confirm state machine, with confidence scoring and a CSV history log that supports re-import and download. CSV import is also available directly into shopping lists.
The recipe library supports manual entry, URL scrape, and bookmark HTML batch import with deduplication. Recipes carry cover and step images, tags, ratings, comments, and shareable public read-only links. The meal planner slots recipes by breakfast, lunch, and dinner across a week, computes ingredient shortfalls against pantry stock, and stages them into a shopping list.
Integrations and security
Optional integrations support owner-scoped planning and household notifications. Automation access is protected with scoped credentials, allowlists, and replay protection.
Auth is JWT bearer tokens with httpOnly refresh cookies and tokenVersion-based revocation. Admin tooling covers user management, security event logs, catalog moderation (stores, brands, ingredients), backup/restore, and configurable app settings including AI provider selection.