Vegan Meal Prep Made Easy: My Notion System
The Notion system I use to batch-cook a week of vegan meals in one Sunday session — component-based prep, a prep board, and the fridge inventory that ties it together.

Meal prep usually fails for one of two reasons: you cook seven identical containers and hate your life by Wednesday, or you wing it with no plan and the produce rots. The fix isn't more discipline. It's a system that does the thinking up front so Sunday afternoon is pure execution.
Here's the Notion setup I use to prep a week of vegan meals without burning out on the same sad Buddha bowl five days running.
The core idea: prep components, not meals
The single biggest shift is to stop prepping finished meals and start prepping components. Instead of five identical lunches, I batch-cook building blocks:
- A grain (rice, quinoa, farro)
- A protein (baked tofu, seasoned lentils, a pot of chickpeas)
- A roasted vegetable tray or two
- A sauce or dressing (tahini-lemon, peanut, salsa verde)
- Something fresh prepped to assemble (washed greens, chopped cucumber)
From five components you can build a dozen different bowls, wraps, and grain salads across the week. Variety comes from recombination, not from cooking twelve separate recipes. This is what makes prep sustainable — you cook five things and eat fifteen different lunches.
Notion's job is to manage which components to make, in what order, and what they turn into.
The Components database
This is the heart of the system. Each row is a prep-able component:
- Name (Title): "Baked tofu," "Tahini-lemon dressing"
- Type (Select): grain / protein / vegetable / sauce / fresh
- Prep time (Number, minutes)
- Keeps for (Number, days): so I don't make a 3-day sauce on Sunday for Friday's lunch
- Uses (Multi-select or relation): which meals this feeds into
The Keeps for property is the one people skip and regret. Knowing that cooked greens last two days but roasted root veg lasts five changes what you prep on which day, and it's the difference between a fridge of fresh food and a fridge of slime.
The weekly prep board
Each week I pick the components I'm making and drop them onto a board view grouped by Type. Seeing them grouped tells me at a glance whether I've got balance — two proteins, two veg, a grain, a sauce — or whether I've accidentally planned four sauces and no protein.
Then I add a Prep order number so the board doubles as a cooking sequence. The logic:
- Oven things first (tofu, roasted veg) — they're hands-off once they're in.
- Stovetop grains and legumes while the oven runs.
- Sauces and fresh prep last — quick, and they don't need to monopolize the stove.
Following the order means the oven and stove are always working while I chop, and the whole session collapses from "all afternoon" to about 90 minutes.
The assembly guide
A prep system that only tells you what you made leaves the hardest question for 1pm on Wednesday: what do I do with all this? So I keep a short Assembly list — simple recipes that combine the week's components:
- Tofu + grain + roasted veg + tahini = grain bowl
- Lentils + greens + dressing, wrapped in a tortilla = lunch wrap
- Chickpeas + chopped fresh veg + lemon = quick salad
These live as lightweight pages linked to the components they use. Mid-week, I open the assembly list, see what I can build from what's left in the fridge, and assemble in three minutes. No decisions, no recipe-hunting.
The fridge inventory that ties it together
The quiet hero is a tiny Fridge inventory: what's prepped, when it was made, and when it expires (made date + keeps-for). A filtered view sorts by soonest-to-expire, so I always eat the thing that's about to turn first.
This one view killed most of my food waste. Without it, I'd forget the greens at the back and rediscover them as compost. With it, "eat the dressing and greens today, the roasted veg can wait" is obvious at a glance.
My actual Sunday flow
- Pick components for the week, balanced across types, dropped on the prep board.
- Number the prep order — oven, stove, fresh.
- Cook the sequence while everything overlaps. ~90 minutes.
- Log each component to the Fridge with its made date.
- During the week, open the assembly list, build bowls from what's freshest.
What I learned the hard way
- Don't prep more than 5–6 components. Past that, something always spoils. Restraint is the skill.
- Stagger perishables. Make the long-keeping items for later in the week; save the 2-day stuff for early on.
- Keep one "emergency" component that lasts all week (a big batch of seasoned chickpeas). It's your safety net when Friday's fresh stuff is gone.
- Resist over-building the Notion side. The board, a components database, and a tiny fridge inventory are enough. The system should take less time to run than the cooking does.
The goal was never a beautiful dashboard. It's eating well on a Wednesday without thinking. Prep components, track what keeps, assemble from the fridge — and let the system carry the planning so you only have to cook.