NiravProof of work
← All projects

Side Projects

Case 08 / 10

The Sunday grocery problem

Pick the week's meals, get one consolidated shopping list. Built because I kept getting home from three stores missing one ingredient.

Personal · 2026 · Designer, builder, and only user

  • I cook five nights a week and shop once, on Sundays, across three stores.
  • Forget one ingredient and Wednesday's dinner becomes whatever is in the fridge.
  • Pick meals, set servings, get one list with shared ingredients already combined.
  • Built a no-code version first to find out what I actually needed.
3 stores one list, one Sunday trip
  • React
  • Vite
  • Glide (V0 prototype)
  • Vercel

Plan a week, get the list

Interactive — synthetic data

Pick a few dishes, then tap a combined ingredient to see which dishes it came from.

0 dishes, 0 ingredients, 0 after combining

Dish library

Grocery list

Pick a few dishes to build the list.

How it fits together

  1. 1Meal library
  2. 2Weekly selection
  3. 3Servings scaling
  4. 4Ingredient aggregation
  5. 5Category grouping
  6. 6Shopping list
Read the full case study Hide the case study

The problem

I cook about five nights a week and shop once, on Sunday, across three stores — a warehouse store, Trader Joe’s, and an Indian grocery. Deciding what to cook happened in my head, and the shopping list was whatever I could remember while standing in the aisle.

The failure mode was always the same. I would get home having missed one ingredient, and Wednesday’s planned dinner would quietly become whatever was in the fridge.

Why it mattered

This is a small problem that recurs fifty-two times a year. The cost is not the forgotten onion — it is the second trip, or the meal that does not happen, or the vegetables that go off because the plan they belonged to fell apart on Tuesday.

It is also genuinely an aggregation problem. Four recipes might each need onions in different quantities. Writing them as four separate line items is how you end up buying four times what you need.

What I built

A weekly planner where I pick the week’s meals from a library, set servings per dish, and get back a single grocery list with shared ingredients already summed and grouped by aisle category. Custom items can be added to the list directly, because not everything I buy belongs to a recipe.

I built the first version in a no-code tool. That version worked, and it was instructive precisely because it was clumsy: it taught me that I did not need meal history, nutrition tracking, or a recipe browser. I needed the aggregation step and nothing else. The rebuild is deliberately smaller than the prototype.

One thing the prototype surfaced by accident: charting my dishes by cuisine showed thirteen Indian dishes against three Italian, three Asian, and one Thai. I had assumed I cooked with more variety than I actually do.

What I learned

The no-code prototype was the most useful thing I built, because it was wrong in specific ways. I learned I did not want a recipe app, a calorie tracker, or meal history. I wanted one screen that turns a list of dishes into a list of things to buy. Everything else I thought I wanted turned out to be decoration.

What I would do next

Pantry staples, so the list stops telling me to buy cumin I already have. Splitting the list by store, since the three I shop at carry different things. And a way to bias the week's selection toward cuisines I have not cooked recently.