Inspiration
A food pantry can have enough money and still be short on supplies. Stock on hand, restricted funds, pack sizes, shipping and a supplier cancellation all affect whether the team can finish a kit. PantryPilot connects those decisions so staff can see what changed and approve the next action.
What PantryPilot does
A coordinator requests kits and compares an itemized basket. Finance approves the exact basket before funds can be reserved. If a supplier cancels part of an order, PantryPilot tracks the refund and requires a fresh approval for the replacement. Staff confirm receipt before recording distribution.
The narrated demo follows a synthetic 50-kit order. Starting with $600 and existing inventory, the team approves a $348.10 basket. Two canceled rice packs trigger a $36 recovery. The team approves a $61.50 replacement and records distribution, leaving $226.40 available and $0 reserved. These amounts come from the local simulation.
How we built it
Next.js, React, TypeScript and Zod support role and organization checks, integer-cent accounting and approval tied to a specific basket. The AG Grid Community ledger lets staff inspect funds, inventory and recovery records. The local demo uses file storage and manual planning. The source also includes a Supabase storage adapter.
The PayPal Sandbox path uses Checkout and Payments APIs for order approval, capture and merchant refunds. Recurring giving uses the Subscriptions API. The AI SDK and Google Gemini adapter propose a basket from approved synthetic offers. PantryPilot rechecks the proposal against the catalog, inventory and budget constraints. Finance retains approval, and the planner has no permission to pay or refund.
The 1:46 narrated video uses manual planning and simulated payments. Successful PayPal Sandbox and Gemini runs, hosted operation, and independent pantry use remain unverified. The project uses AG Grid Community.
Try the local demo
Follow the README setup instructions in the MIT-licensed source. The local demo uses synthetic records and opens without provider accounts or credentials. Run it on Windows with Node.js 22.9 or newer.
The verified Windows build passed 852 unit and route tests, 59 Chromium journeys, typecheck, lint and the Community artifact check. The public source includes the local setup, tests and synthetic evaluation cases.
What we learned
An affordable basket can still fail if supplier packs and on-hand inventory cannot fill the request. PantryPilot checks eligible inventory and compares integer pack allocations across approved suppliers. The recovery flow keeps a requested refund out of spendable funds until confirmation and treats a replacement as a new financial decision.
Built with AI coding assistance. The demo uses captured application footage and owner narration.
Built With
- ag-grid
- google-gemini
- next.js
- paypal
- playwright
- react
- supabase
- typescript
- vitest
- zod