Context
A household pantry and grocery expiration tracker. Everything lives on the device: no account, no server, no network calls. Built with React Native, Expo SDK 57, Expo Router and TypeScript. State is useReducer plus context. Persistence is AsyncStorage behind a repository module. There is no state library and no backend, on purpose.
What’s in the build
- Add, edit and delete food items with quantity, unit and storage location
- Ten built in categories, plus your own, with rename and safe delete
- Expiry dates, or "does not expire" for salt and rice
- Mark an item used up, and put it back
- Search across name, note and category, with location and category filters
- An Expiring screen that groups what is already past its date and what to use next, with the window configurable from 2 to 14 days

