A local-first recipe generator that tells you what to cook based on what you already have. Powered by Ollama — runs entirely on your machine, no API keys, no cloud.
| Layer | Choice |
|---|---|
| Frontend | React + TypeScript |
| Styling | Tailwind CSS v4 |
| AI | Ollama (local) |
| Storage | localStorage |
| Build | Vite |
git clone https://github.com/Prabodh-dev/Whats-In-My-Fridge.git
cd whats-in-my-fridgenpm installollama pull llama3.2Any model works —
mistral,llama3,gemma2, etc. You can change the model inside the app.
ollama servenpm run devOpen http://localhost:5173 in your browser.
src/
├── components/
│ ├── Header.tsx # Nav with Kitchen / Pantry tabs
│ ├── IngredientInput.tsx # Tag chip input
│ ├── ModeSelector.tsx # Personality mode cards
│ ├── RecipeCard.tsx # Streamed recipe output + actions
│ └── Pantry.tsx # Staples manager + saved recipes
├── utils/
│ ├── ollama.ts # Ollama streaming API call
│ └── storage.ts # localStorage helpers
├── App.tsx
├── main.tsx
└── index.css
| Mode | Vibe |
|---|---|
| 🍜 Broke Student | Quick, cheap, filling. No fancy stuff. |
| 👨🍳 Fancy Chef | Elevated, plated, restaurant-worthy. |
| 🥗 Health Freak | Clean, nutritious, no junk. |
Each mode uses a completely different system prompt — same ingredients, totally different recipe.
The model defaults to llama3.2 but can be changed directly in the UI. Any model you have pulled in Ollama will work.
Ollama is expected at http://localhost:11434. If you're running it on a different port, update OLLAMA_URL in src/utils/ollama.ts.