A private-first, offline-capable inventory management system powered by the Nostr protocol.
Track everything in your home—from pantry staples to household assets—with real-time synchronization across devices, fully controlled by your keys. No central server. No data mining. Just you and your inventory.
This application is built on the principles of sovereignty and decentralization:
- Your Keys, Your Data: Login with your Nostr
nsec(private key) or extension (NIP-07). Your inventory is signed by you and belongs to you forever. - Unstoppable: Data is stored on decentralized relays (like Damus, Primal, etc.). There is no central database to go down or be sold.
- Privacy First: Sensitive data can be encrypted. Only you (and those you explicitly share with) can decrypt it.
- Smart Tracking: Manage pantry, freezer, nursery, and garage items.
- Auto-Shopping List: Items automatically jump to your shopping list when stock gets low.
- History & Analytics: See consumption trends over time.
- Multi-Device: Update your fridge stock on your phone, see it change instantly on your tablet.
- Family Sharing: securely share your inventory with a spouse or roommate using their Nostr Public Key (
npub). They get real-time access without sharing your private key. - Offline Capable: Works without internet. Changes sync automatically when you reconnect.
- Single Page Application (SPA): Runs entirely in your browser.
- Relay Management: Connect to multiple relays for redundancy.
- Encryption: Optional encryption for private items using NIP-44/NIP-04 standards.
- Frontend: React, Vite, TailwindCSS, shadcn/ui
- Protocol: Nostr (NDK)
- State Management: TanStack Query + Zustand
- Storage: IndexedDB (Local Cache) + Nostr Relays (Cloud)
- Node.js 18+
- A Nostr identity (optional, can generate one in-app)
-
Clone the repo
git clone https://github.com/murdawkmedia/stock-yo-space.git cd stock-yo-space -
Install dependencies
npm install
-
Run locally
npm run dev
Open
http://localhost:8080to see the app.
Run the integration tests (powered by Vitest):
npm testThis app is designed to run perfectly on Cloudflare Pages.
- Fork this repository.
- Log in to Cloudflare Dashboard > Pages.
- Connect your GitHub account and select this repo.
- Build Settings:
- Framework: Vite
- Build Command:
npm run build - Output Directory:
dist
- Deploy!
Note: The build script automatically handles client-side routing configuration for Cloudflare.
Open source is in our DNA. Issues and Pull Requests are welcome!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.