Skip to content

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.

Role: Creator
  • TypeScript
  • React
  • Express
  • Prisma
  • SQLite
  • Vite
  • TanStack Query
  • Tailwind
  • Radix UI
  • Nx

Project snapshot

Savoro recipe library showing photographed imported recipes and list-management controls.
Live deployment screenshot.
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.