Despenxy — my own pantry and home inventory app, driven by scanning
Despenxy is a self-hostable product I built to manage a household pantry by scanning: a React Native + Expo app with native scanning, a React + Vite dashboard and a NestJS backend, keeping stock in sync.
- Project
- Despenxy
- Category
- My own product · Home productivity
- Period
- 2025 — personal project

The challenge
Keeping track of what's actually in the pantry is tedious, so things run out unnoticed. I wanted a low-friction system where stock updates itself as you shop and cook: scan products in when you get home, scan them out as you use them, and never manually maintain a shopping list again.
What I built
I designed and built the whole product:
- React Native + Expo app with native barcode scanning — a new product is defined just once (name, unit and minimum); after that it's only scan-in and scan-out.
- Scanning an unknown barcode auto-creates the product from OpenFoodFacts — name, brand and image — so it's ready in the cart in a single tap.
- Two distinct flows by design: fast bulk scanning when you get back from the shop, and low-friction capture at the moment of consumption, with direct buttons for unpackaged products.
- A three-level stock traffic light so the state of the pantry reads at a glance.
- Automatic shopping list — when stock crosses its minimum threshold, an alert fires and the product moves to the list on its own.
- React + Vite web dashboard and a NestJS backend with MongoDB and Redis.
- Self-hosting with Docker Compose.


Stack
The result
Despenxy runs as a self-hosted product covering the full loop — from scanning a product in to it landing on the shopping list when it runs low. Entry and exit were built as separate flows so each stays fast in its own context.
Want to work together?
I'm open to new opportunities. Tell me about the role or project — let's talk.