Data & method
Every figure on this site can be reproduced from this page and a calculator.
Where the food data comes from
The 246 core dishes come from the ThaliFacts dataset, which is built on the इंडियन फ़ूड कंपोज़िशन टेबल्स 2017 published by the ICMR National Institute of Nutrition, Hyderabad, combined with standard recipe analysis for composite dishes. Using the same dataset as ThaliFacts is deliberate: a roti has to be the same number of calories on both sites or neither site is worth reading.
The 37 dishes estimated here
A Bengali, Odia or Assamese plan cannot be built from that dataset alone, because several everyday dishes in those kitchens are not in it. Rather than substitute a north Indian dish and pretend, 37 regional dishes were estimated specifically for this site by recipe analysis: the standard household recipe is broken into ingredients, each ingredient is valued from IFCT 2017, and the result is divided by the cooked yield.
These are estimates and are marked अनु. everywhere they appear. Their energy figures are stated as 4P + 4C + 9F precisely so they can never disagree with their own macronutrients.
| व्यंजन | kcal/100 g | प्रोटीन | Basis |
|---|---|---|---|
| Luchi | 416 | 6.5 g | refined-flour puri, deep fried; about 18 g maida per piece with absorbed oil |
| Aloo Posto | 151 | 3.5 g | potato with poppy-seed paste in mustard oil; poppy seed carries most of the fat and protein |
| Shukto | 91 | 2.6 g | mixed vegetables with bitter gourd in a milk-and-mustard gravy |
| Macher Jhol | 116 | 12.5 g | light Bengali rohu curry, thin gravy; roughly 80 g fish per serving |
| Begun Bhaja | 133 | 1.4 g | brinjal slices shallow fried in mustard oil; oil uptake decides the number |
| Mishti Doi | 150 | 4.5 g | set curd with caramelised sugar; sugar is roughly a fifth of the weight |
| Undhiyu | 154 | 4.2 g | winter mixed vegetables with muthiya; genuinely oil-heavy in a normal Gujarati kitchen |
| Handvo | 188 | 7.0 g | fermented rice-and-lentil savoury cake with bottle gourd |
| Gujarati Dal | 92 | 4.2 g | thin toor dal with jaggery and kokum; the jaggery is why carbohydrate runs above a plain dal |
| Baati | 342 | 8.0 g | baked wheat ball, counted with about 1 teaspoon of ghee; dunked baatis run far higher |
| Churma | 412 | 6.0 g | crushed baati with ghee and jaggery |
| गट्टे की सब्ज़ी | 159 | 7.5 g | besan dumplings in a curd gravy; a genuinely high-protein vegetarian curry |
| Ker Sangri | 176 | 5.0 g | dried desert berries and beans cooked in oil; very high fibre, and the oil is not optional in the traditional recipe |
| Haak | 85 | 3.2 g | Kashmiri collard greens boiled with mustard oil and green chilli |
| Nadru Yakhni | 117 | 3.4 g | lotus stem in a curd-based yakhni gravy |
| Kahwa | 25 | 0.4 g | Kashmiri green tea with saffron, cardamom and a few slivered almonds; lightly sweetened |
| Kadala Curry | 136 | 6.5 g | black chana in roasted coconut gravy; the standard partner to puttu |
| Thoran | 92 | 2.6 g | vegetable stir-fry with grated coconut and coconut oil |
| Olan | 80 | 1.6 g | ash gourd and cowpea in thin coconut milk; one of the lightest dishes in the sadya |
| Meen Curry | 136 | 12.0 g | Kerala fish curry with kudampuli and coconut; about 80 g fish per serving |
| Pesarattu | 174 | 8.5 g | whole green-gram dosa; the highest-protein dosa in the family, and cheap |
| Gongura Pachadi | 136 | 3.5 g | sorrel-leaf chutney; eaten in small quantities but carries real oil |
| Kootu | 93 | 4.2 g | moong or chana dal simmered with a vegetable and coconut |
| पोरियल | 83 | 2.4 g | Tamil dry vegetable stir-fry finished with coconut |
| Thalipeeth | 273 | 8.0 g | multigrain flatbread from bhajani flour, cooked with a little oil |
| Zunka | 190 | 9.0 g | dry besan cooked with onion; the cheapest high-protein sabzi in Maharashtra |
| Matki Usal | 126 | 7.5 g | sprouted moth beans in a thin coconut-and-goda-masala gravy |
| Pakhala Bhata | 58 | 1.8 g | rice fermented overnight in water; the water content is why energy per 100 g is so low |
| Dalma | 99 | 5.0 g | toor dal cooked together with raw banana, pumpkin and papaya, tempered with ghee |
| Santula | 67 | 2.0 g | lightly boiled mixed vegetables with panch phoron and very little oil |
| Chhena Poda | 281 | 11.0 g | baked chhena with sugar; unusually high protein for an Indian sweet |
| Besara | 96 | 2.6 g | mixed vegetables in a ground mustard gravy |
| Masor Tenga | 98 | 11.5 g | Assamese sour fish curry with tomato or elephant apple; very little oil by design |
| Aloo Pitika | 122 | 2.2 g | mashed potato with raw mustard oil, onion and coriander |
| Khar | 57 | 1.4 g | raw papaya and pulses cooked with alkali filtered from banana ash; the opening dish of an Assamese meal |
| Laai Xaak | 68 | 2.8 g | mustard greens sauteed in mustard oil |
| सत्तू शरबत | 131 | 7.0 g | roasted-gram flour whisked into water with salt, lemon and cumin; about 35 g sattu per glass and the cheapest protein drink in India |
How a meal total is computed
Each dish has a stated serving in grams. A meal lists dishes and a number of servings. Grams = serving weight × servings; nutrients scale linearly from the per-100 g figures. A meal total is the sum of its dishes, a day total is the sum of its five meals, and the weekly average is the sum of the seven days divided by seven. There is no adjustment factor anywhere and nothing is rounded before the sum — the rounding you see happens only at display.
Every build runs an Atwater reconciliation over all 283 foods: 4 kcal per gram of protein, 4 per gram of available carbohydrate and 9 per gram of fat must land within 15% of the stated energy (20% for very high-fibre foods, where fibre accounting differs). The build refuses to produce a site if any food fails.
How the plans are put together
Every meal in the library is a real combination of real dishes; none of them was designed to hit a number. The build then selects which meals go on which day so the week lands inside the plan's stated calorie band and clears its protein and fibre floors, while avoiding the same meal appearing on consecutive days. It never scales a portion or shaves a figure to make a total work. If a plan's stated average does not equal the sum of its own days divided by seven, that is a bug and the verification step fails the build.
How the grocery quantities are derived
Each dish carries a documented raw-ingredient mapping for one serving — one roti is 30 g of atta, one katori of dal is 30 g of dry dal, one katori of curd is 150 g, one katori of chicken curry is 85 g of raw chicken. The plan knows how many servings of each dish it contains, so multiplying through gives a week's shopping. Fresh vegetables are pooled into one line, because nobody shops for 110 g of bhindi.
Indicative rates used for the rupee figures
| Shopping line | Indicative rate |
|---|---|
| आटा (गेहूँ का साबुत आटा) | ₹48 प्रति kg |
| Maida & refined flour | ₹52 प्रति kg |
| चावल | ₹60 प्रति kg |
| अन्य अनाज — पोहा, सूजी, ओट्स, दलिया, मोटे अनाज का आटा | ₹75 प्रति kg |
| बेसन & सत्तू | ₹95 प्रति kg |
| दाल — तूर, मूंग, मसूर, चना, उड़द | ₹150 प्रति kg |
| चना, राजमा, लोबिया, मटकी (सूखे) | ₹110 प्रति kg |
| सोया चंक्स | ₹130 प्रति kg |
| पनीर | ₹400 प्रति kg |
| दही | ₹80 प्रति kg |
| दूध | ₹62 per litre |
| Ghee & butter | ₹650 प्रति kg |
| खाना पकाने का तेल | ₹155 per litre |
| Eggs | ₹8 each |
| Chicken | ₹260 प्रति kg |
| Fish & prawn | ₹320 प्रति kg |
| Mutton | ₹780 प्रति kg |
| सब्ज़ियाँ | ₹55 प्रति kg |
| हरी पत्तेदार सब्ज़ियाँ | ₹60 प्रति kg |
| प्याज़, आलू, टमाटर | ₹40 प्रति kg |
| नारियल | ₹90 प्रति kg |
| मूंगफली & मेवे | ₹260 प्रति kg |
| फल | ₹70 प्रति kg |
| चीनी, गुड़, चाय & कॉफ़ी | ₹60 प्रति kg |
These are coarse mid-2026 metro retail rates set for scale, not a price index. They are not sourced from a published series and should not be quoted as one. Prices swing 30% or more between cities, seasons and shop types, and buying dal by the kilo rather than in a branded packet moves them further. The quantities are the useful part of a grocery list; the rupee column is context.
How the plate quadrant chart is portioned
The chart above every plan reads the same week a second way. Instead of asking what a day totals, it asks what a day looks like: how much of the plate is grain, how much is dal, how much is vegetable, and how far each of those is from the quarter marks a clinic handout draws.
Every dish in the library is assigned to exactly one of the 5 groups below. Composite dishes — khichdi, masala dosa, sambar, misal — are assigned whole, to the group that dominates the serving by weight. They are not split, because splitting them would need a recipe breakdown this site does not have, and inventing one to make a diagram tidier is exactly the move the rest of this page refuses. The build fails if any dish used in a plan is not in the table below.
| समूह | Typically | Dishes assigned |
|---|---|---|
| अनाज | रोटी, चावल, पोहा, इडली, डोसा | 32 |
| दाल & दलहन | दाल, चना, राजमा, बेसन, सोया, सत्तू | 28 |
| सब्ज़ी & फल | सब्ज़ी, साग, सलाद, फल | 27 |
| डेयरी, अंडा & मांस | दही, पनीर, दूध, अंडा, मछली, चिकन | 26 |
| वसा, मेवा & मिठाई | चटनी, अचार, मेवे, मिठाई, चाय | 18 |
The outer ring is each group's share of the day by served weight; the inner ring is its share by energy. The two disagree on purpose — that disagreement is the only thing on the page a calorie total cannot say. Portions are printed in katori of 150 g, the same katori used by the serving weights and the grocery mapping, so one katori means one thing everywhere on this site.
What the chart does नहीं claim: that these five groups are a dietary guideline, that the quarter marks are a target for you, or that a group's share should be any particular number. They are a ruler, not a verdict.
What this method cannot do
- It cannot know your kitchen. Fat is the largest source of variance in Indian home cooking by a wide margin. Every figure assumes about a teaspoon of oil per person in a sabzi. Double it and a day gains roughly 200 kcal with nothing new on the plate.
- It cannot know your portions. A katori is taken as 150 g and a phulka as 45 g. If your roti is a third bigger, so is every roti figure on this site.
- Restaurant food is a different animal. The same dish out can run 30 to 60% higher.
- Composition tables report averages. Individual batches, varieties and seasons vary.
- It cannot know you. Requirements change with age, activity, pregnancy, medication and diagnosed conditions. That is what a registered dietitian is for.
सुधार
If a figure here disagrees with IFCT 2017, IFCT wins and the page gets fixed. If one of the 37 estimates above is wrong and you can say why, that is the most useful email this site can receive. Send the page URL and what looks wrong.
Every reference behind this page, with its publication date and the month it was last checked, is on the स्रोत पेज — including the one column on this site that has no published source at all.
केवल सामान्य जानकारी — यह चिकित्सा या पोषण संबंधी सलाह नहीं है। ये औसत मानों पर बनाई गई उदाहरण-योजनाएँ हैं; ये नुस्खे नहीं हैं और इनमें एलर्जी, बीमारियों या दवाओं का ध्यान नहीं रखा जा सकता।
स्रोत·ThaliFacts के फूड डेटा से गणना·समीक्षित जुलाई 2026
The people behind these sites
Follow the build
This site and nine others like it are built and photographed by two people: Amit Sharma — behind the build; Geeta Patel — the poses, demonstrated. New work goes up on Instagram and Facebook before it reaches a page here.
Following changes nothing here — every page stays open, with no account and no wall.