App, first use case Vienna

Ideal food

Everything between deciding to eat and having eaten. Buying groceries is one part of it, and that part is already built.

Ideal groceries scores a product at a shop. This layer above it composes products into meals, meals into a week, and the week into one shopping list that goes to ideal groceries through the shared query port and comes back as scored offers. From those, one order, with its exact combination score against your own weights, and the break-even point where a more value-aligned line stops being worth an extra trip. The plan can be sent to somebody, which is a permissioned act on the Web of Trust rather than a link.

Three things stay honest all the way down: an ingredient nobody has scored is unknown mass in the meal, not a middle number; the weights that produced a figure travel with it; and there is no trust score anywhere, only vouch paths with names on them.

The week

A regular routine of clearly having certain meals at home, with recipe steps and a card to print. Each card says how much of the meal is actually known. Dinners every day, two weekend lunches, four oat breakfasts. Servings follow the household.

  1. Mon 7.9.

  2. Tue 8.9.

  3. Wed 9.9.

  4. Thu 10.9.

  5. Fri 11.9.

  6. Sat 12.9.

  7. Sun 13.9.

Pumpkin risotto

Hokkaido, rice, and a little cheese

40 min, for 2, autumn

no score, verdict unknown no score

Nothing in this meal has a score yet.

  • Ownership unknown
  • Provenance unknown
  • Ecology unknown
  • Labour unknown
  • Climate unknown
  • Locality unknown
  • Animal welfare unknown
  • Health unknown
  • Epistemic commons unknown
  • Price unknown

Ingredients

  • 500 g Hokkaido pumpkin not asked yet
  • 180 g Risotto rice not asked yet
  • 100 g Onion not asked yet
  • 30 g Butter not asked yet
  • 50 g Hard cheese (Parmesan) not asked yet
  • 800 ml Vegetable stock not asked yet
  • 30 ml Olive oil not asked yet

Steps

  1. Dice the pumpkin, skin on, and roast half of it in oil while the rest goes in the pot.
  2. Sweat the onion in butter, add the rice, stir until glassy.
  3. Add the raw pumpkin and hot stock a ladle at a time, stirring, for eighteen minutes.
  4. Stir in the cheese and the roasted pumpkin; rest two minutes before serving.
Your weights, in the order of the EvoBioSys values
  • Who owns the surplus: a commons, a collective, a family, or a fund?

  • Can the chain be followed from the plate back to the field?

  • Permaculture before organic before conventional; regenerative before merely less bad.

  • Do the people doing the work have pride in it, and support for their education?

  • Land and feed conversion, transport, cold chain.

  • Vienna first, then Austria, then the neighbours; transport, jurisdiction, tax.

  • Vegan production is preferred; where animals are involved, how they live.

  • No ingredient known to be unhealthy; natural rather than artificial.

  • Does buying this add honest, shared knowledge, or only marketing?

  • What it costs, against the realistic alternatives at hand.

The shopping list, handed to ideal groceries

Every line is one query: requester, purpose, category inventory, requirement food, the search terms, a limit. The answer is whatever the app named ideal-groceries registered on the port, and nothing here re-scores groceries. Lines the pantry covers are asked too, so the meal can be scored as the household usually buys, but they are not ordered.

LineNeededAt homeTo buyAnswer from ideal groceries
Apples apfel-hafer960 g240 gnot asked yet
Bread herbstsalat, zwetschkenknoedel180 g120 gnot asked yet
Brown lentils mangold-linsen160 g160 gnot asked yet
Butter zucchini-palatschinken, kuerbis-risotto, krautfleckerl, zwetschkenknoedel120 g20 gnot asked yet
Chard (Mangold) mangold-linsen400 g400 gnot asked yet
Eggs zucchini-palatschinken, herbstsalat, zwetschkenknoedel5 pc2 pcnot asked yet
Fleckerl pasta krautfleckerl200 g250 gcoverednot asked, the pantry covers it
Fresh herbs (parsley, chives) zucchini-palatschinken, ofengemuese40 g20 gnot asked yet
Garlic erdaepfelgulasch, mangold-linsen, ofengemuese40 g30 g10 gnot asked yet
Hard cheese (Parmesan) kuerbis-risotto50 g50 gnot asked yet
Hokkaido pumpkin kuerbis-risotto, ofengemuese700 g500 gnot asked yet
Milk apfel-hafer, zucchini-palatschinken1.4 l300 mlnot asked yet
Olive oil erdaepfelgulasch, mangold-linsen, kuerbis-risotto, ofengemuese150 ml500 mlcoverednot asked, the pantry covers it
Onion erdaepfelgulasch, mangold-linsen, kuerbis-risotto, krautfleckerl820 g300 g520 gnot asked yet
Peppers ofengemuese, herbstsalat360 g200 gnot asked yet
Plums (Zwetschken) zwetschkenknoedel300 g300 gnot asked yet
Potatoes (Erdaepfel) erdaepfelgulasch, ofengemuese, zwetschkenknoedel2 kg500 g1.5 kgnot asked yet
Pumpkin seed oil (Kernoel) herbstsalat20 ml20 mlnot asked yet
Quark (Topfen) zucchini-palatschinken, ofengemuese360 g160 gnot asked yet
Risotto rice kuerbis-risotto180 g500 gcoverednot asked, the pantry covers it
Rolled oats apfel-hafer480 g500 gcoverednot asked, the pantry covers it
Sugar krautfleckerl10 g500 gcoverednot asked, the pantry covers it
Sweet paprika powder erdaepfelgulasch32 g50 gcoverednot asked, the pantry covers it
Tomatoes (Paradeiser) erdaepfelgulasch, mangold-linsen, herbstsalat700 g100 gnot asked yet
Vegetable stock erdaepfelgulasch, mangold-linsen, kuerbis-risotto2.4 l500 ml1.9 lnot asked yet
Wheat flour zucchini-palatschinken, zwetschkenknoedel260 g1 kgcoverednot asked, the pantry covers it
White cabbage krautfleckerl500 g500 gnot asked yet
Yoghurt apfel-hafer640 g160 gnot asked yet
Zucchini zucchini-palatschinken, ofengemuese500 g300 gnot asked yet

One order

One interface where everything can be ordered, telling you the exact combination score of the order and where the break-even sits. Scores are mass-weighted like a meal; the total says when a line has no price.

Ask ideal groceries first; the order is built from the answers.

Send the week to somebody

The plan encodes what a household eats, so it passes your own permission gate with the recipient as the asker, category preferences, and inventory if the pantry goes along. The outcome names the rule that fired and the vouch path, as names.

A mailto link with the plan as the body. Works everywhere, carries no state back.

HelloFresh, from commons-sourced farmers

A recipe kit is a weekly rhythm plus recipes that fit what arrives. The commons version takes the produce from a CSA share and the staples from a food coop, and leaves out the logistics company.

Layer by layer

  1. Seasonal vegetables from a commons producer exists

    CSA harvest shares such as GeLa Ochsenherz

    Weekly, June to December as a box, year round as free pick-up. What arrives is what the field gave.

  2. Handover inside Vienna exists

    CSA pick-up points at Naschmarkt and Praterstern

    No home delivery in the HelloFresh sense, and no cold-chain van; the member walks or cycles there.

  3. Recipes that fit what arrived, portioned for the household does not exist

    This page

    The kit insert: a weekly set of recipes composed from the share, with the top-up list for what the share lacks. Built here as a working model, not yet fed by a real share list.

  4. A weekly routine of fixed meals at home partly

    The household, with this plan

    The share is weekly already; deciding the meals is what this page adds. Print the week and pin it in the kitchen.

  5. Grain, pulses, dairy and eggs from commons producers partly

    Food coops (IG FoodCoops) and farm shops

    Coops aggregate orders without markup, but they are not kits and most need a member on duty. Whether a coop near the household carries what the recipes need is unknown until asked.

  6. A logistics company portioning and shipping does not exist

    Nobody, on purpose

    This is the part of HelloFresh that is not recreated. The ownership question (HelloFresh SE, listed in Frankfurt) is the reason the commons version exists.

  7. Every ingredient scored against the person's own weights partly

    ideal groceries, asked through the query port

    Products from shops are scored on the groceries side through the live adapter (a snapshot of 20 products). CSA share items are not in that catalogue yet, so they answer nothing on offer and stay unknown mass in the meal.

This week against an early-September share

The share contents are an estimate (confidence 0.5): the seasonal calendar poster exists as a PDF that could not be read as text during this build, and only pumpkin was confirmed as an autumn item from the food lexicon.

From the share
  • Apples240 g
  • Chard (Mangold)400 g
  • Fresh herbs (parsley, chives)20 g
  • Hokkaido pumpkin500 g
  • Onion500 g
  • Peppers200 g
  • Plums (Zwetschken)300 g
  • Potatoes (Erdaepfel)1 kg
  • Tomatoes (Paradeiser)100 g
  • White cabbage500 g
  • Zucchini300 g
Top up elsewhere
  • Bread120 g
  • Brown lentils160 g
  • Butter20 g
  • Eggs2 pc
  • Garlic10 g
  • Hard cheese (Parmesan)50 g
  • Milk300 ml
  • Onion20 g
  • Potatoes (Erdaepfel)500 g
  • Pumpkin seed oil (Kernoel)20 ml
  • Quark (Topfen)160 g
  • Vegetable stock1.9 l
  • Yoghurt160 g
In the share, unused this week

Unused share is the kit's real design problem: next week's recipes start from here.

Anchors, verified as far as this build could

  • GeLa Ochsenherz csa, Gaenserndorf, 30 km north-east of Vienna
    • A CSA (Gemeinsam Landwirtschaften) since 2011, the first in Austria to use the term. Wikipedia (de), Solidarische Landwirtschaft, accessed 2026-09-05 [C];GeLa Ochsenherz, farm website, undated, accessed 2026-09-05 [B]; confidence 0.80
    • A harvest share is about a three-hundredth of the harvest, which puts the membership near 300 shares. GeLa Ochsenherz, farm website, undated, accessed 2026-09-05 [B]; confidence 0.75
    • Two share types: a vegetable box from June to December, or free pick-up year round at Naschmarkt, Praterstern and the farm. GeLa Ochsenherz, farm website, undated, accessed 2026-09-05 [B]; confidence 0.85
    • Members share the harvest and fund fair wages; they are not customers and do not buy vegetables. GeLa Ochsenherz, farm website, undated, accessed 2026-09-05 [B]; confidence 0.90
  • SoLaWi leben network, Austria-wide

    2 claims here sit below 0.7 and are shown as such rather than dropped.

  • IG FoodCoops food-coop-network, Austria-wide, started in Vienna
    • About 120 self-managed, no-markup buying groups in Austria in 2026; the first two founded in Vienna in 2007. IG FoodCoops (foodcoops.at), undated, accessed 2026-09-05 [C]; confidence 0.60, below the floor
    • A Vienna-only count could not be established. IG FoodCoops (foodcoops.at), undated, accessed 2026-09-05 [C]; confidence 0.60, below the floor

    2 claims here sit below 0.7 and are shown as such rather than dropped.

  • Die Tafel Oesterreich food-rescue, Vienna wholesale market, nationwide reach
    • Rescues food and gives it to people in poverty through social institutions, since 1999. Not a consumer channel, and it should not become one. Die Tafel Oesterreich, undated, accessed 2026-09-05 [B]; confidence 0.75

Special editions

Ready-made ordering, pregnancy, specific diets and bulk storage, written up on the groceries site and acting on the week here. The default household has no cellar; the model carries one.

Household

Infants eat none of these servings. The default is a family of two with a baby, from the Tana node.

Storage (bulk and cellar edition)

0 lines could be bought for months with this storage.

Pregnancy edition

1 meal this week carries something on the list.

Diet edition

0 meals would need swapping. Shown as a count, never dropped silently.

  • Pregnancy acts on meals

    Flags every recipe step and ingredient on the exclusion list (raw egg, raw-milk cheese, raw meat and fish, alcohol) and shows a cooked-through alternative where one exists. The groceries layer can only filter products; the meal is where the raw egg actually appears.

    The groceries write-up
  • Specific diets acts on meals

    Vegetarian and vegan filters run on recipes before any scoring. Filtered-out meals stay visible as a count so the week does not quietly shrink.

    The groceries write-up
  • Bulk and cellar storage acts on shopping list

    The household storage profile decides which lines may be bought for months rather than for the week. The default household has no cellar, so the switch is off until somebody says otherwise.

    The groceries write-up
  • Ready-made meals acts on ordering

    A slot in the week can be filled by an ordered meal instead of a recipe. The order then goes through the same one-interface bundle and the same criteria, with the kitchen doing the prep scored on labour like any other producer. Not built beyond the slot type; there is no scored ready-made provider yet.

    The groceries write-up

Services to replicate or integrate

The ones the Tana node names, with what happens to each. Where a fact the values need could not be established, it is shown as unknown.

ServiceWhat it isStanceIn the food layerSources
HelloFreshmodelledWeekly recipe kits shipped by a logistics company. HelloFresh SE, Berlin, stock-listed, operates in Austria. replicateThe commons kit above: same weekly rhythm and recipe cards, produce from a CSA share, no logistics company. Ownership is the first criterion in the values and the reason to replicate rather than integrate.Wikipedia (de), HelloFresh; hellofresh.at, accessed 2026-09-05 [C]
confidence 0.85
CSA harvest sharesmodelledMembers fund a farm and share its harvest. GeLa Ochsenherz near Vienna since 2011; over 50 farms in Austria by 2022. integrateThe share is the produce layer of the kit. The split between share and top-up is computed on this page from an estimated September share.GeLa Ochsenherz, farm website, undated, accessed 2026-09-05 [B]
Wikipedia (de), Solidarische Landwirtschaft, accessed 2026-09-05 [C]
confidence 0.75
Too Good To Gonot-builtSurplus bags from shops and restaurants, paid in advance, picked up at closing time. Founded 2015 in Denmark; in Austria since August 2019; privately held. integrateA rescue bag is a wildcard meal: the week would hold a slot whose ingredients are unknown until pick-up, scored afterwards. Integration would need the company API, which is not public.Wikipedia (de), Too Good To Go, accessed 2026-09-05 [C]
confidence 0.70
Delivery platforms (Lieferando, Foodora, Wolt)not-builtRestaurant delivery on demand. The Tana node asks to prefer whichever treats its riders best, specifically by supporting their education. Unknown: Rider employment and education support in Austria.bothThe ready-made edition would rank platforms on the labour criterion. That needs a fact this build could not establish: how riders are employed in Austria and whether any employer supports their education.Wikipedia (de), Lieferando, accessed 2026-09-05 [C]
Gewerkschaft vida, 2026-08-31, accessed 2026-09-05 [B]
confidence 0.40, flagged
Food coopsnot-builtSelf-managed buying groups without markup. About 120 in Austria in 2026, the first in Vienna in 2007. integrateThe staples layer of the kit. Would need each coop's order list as a query provider; none exists yet.IG FoodCoops (foodcoops.at), undated, accessed 2026-09-05 [C]
confidence 0.60, flagged
markta (online farmers market, Vienna)not-builtFounded 2018. Its own site announced an insolvency filing in 2026. cautionA reminder that the alternative landscape is thin and fragile. An interface that only ever routes to the discounter because everything else closed is not the ideal; the relative alternative score has to say when that happens.markta.at, own notice, undated notice, accessed 2026-09-04 [B]
confidence 0.60, flagged

What is real in this build

Registered on the query port

  • ideal-food serves food this app
  • ideal-groceries serves food live adapter

Real, stubbed, missing

  • Real: the contract, the meal composition, the plan, the shopping list, the order arithmetic, the permission gate and the vouch paths (shared in-memory stubs from the interop package, swapped for the Web of Trust by replacing one module).
  • Stubbed: identities and vouches are a fixture graph; there is no persistence; sending opens a link rather than delivering a message. The groceries answers come from the live adapter's vendored snapshot (20 products, 68 offers); ingredients outside it answer nothing on offer.
  • Missing from the contract, found twice: QueryOutcome has no slot for a Score and QuerySpec has no slot for the asker's weights. Both this app and ideal-groceries carry the score on the resource as an extension field and recombine it against the asker's weights on arrival. The next interop version should add scores?: Score[] to the ok outcome and weights?: Weights to the spec, additively.
  • Missing from the vocabulary: stewardship, source abundance, production method (permaculture before organic), packaging circularity, seasonality and additives are measured on the groceries side and have no CriterionId. Seasonality is the one a meal planner feels first.
  • Unknown by design: health comes back unknown on every grocery offer because the source never rated it. It is shown as unknown and never as zero.

Sources

  1. GeLa Ochsenherz, farm website, undated, accessed 2026-09-05 [B]. Defines a harvest share as about a three-hundredth of the harvest; lists Naschmarkt, Praterstern and Gaenserndorf as pick-up points.
  2. Wikipedia (de), Solidarische Landwirtschaft, accessed 2026-09-05 [C]. Names GeLa Ochsenherz, 2011, as the first Austrian CSA and counts over 50 Austrian CSA farms by early 2022, citing solawi.life.
  3. SoLaWi leben (solawi.life), Austrian CSA network, unreachable on 2026-09-05 (connection refused) [C]. Cited via Wikipedia only; the site itself did not answer during this build.
  4. IG FoodCoops (foodcoops.at), undated, accessed 2026-09-05 [C]. About 120 food coops in Austria in 2026; the first two founded in Vienna in 2007; the interest group founded 2017.
  5. Die Tafel Oesterreich, undated, accessed 2026-09-05 [B]. Association rescuing food for people in poverty since 1999, based at the Vienna wholesale market. wienertafel.at redirects here.
  6. Wikipedia (de), Too Good To Go, accessed 2026-09-05 [C]. Founded 2015 in Denmark; surprise-bag model; Austria launch August 2019; privately held with outside investors. The company site answered 429 twice.
  7. Wikipedia (de), HelloFresh; hellofresh.at, accessed 2026-09-05 [C]. HelloFresh SE, Berlin, stock-listed in Frankfurt; hellofresh.at is a live Austrian storefront.
  8. Wikipedia (de), Lieferando, accessed 2026-09-05 [C]. Takeaway.com European Operations B.V. behind the Austrian brand. Direct rider employment is described for Germany only; nothing for Austria.
  9. Gewerkschaft vida, 2026-08-31, accessed 2026-09-05 [B]. Article "Rider:innen brauchen bessere Arbeitsbedingungen" on the EU platform-work directive. No collective agreement text was reachable during this build.
  10. markta.at, own notice, undated notice, accessed 2026-09-04 [B]. The site states the company must file for insolvency because of the economic situation. Founded 2018 per the same site.
  11. die umweltberatung Wien, Saisonkalender poster, 2026-09-04 [B]. The poster exists as a PDF; its table could not be read as text during this build. Only pumpkin was confirmed as an autumn item from the food lexicon.
  12. Ideal Groceries, editions page (EvoBioSys), 2026 [B]. Pregnancy exclusions there cite AGES, BZfE, BfR and EFSA 2015 (all tier A).
  13. Jakob Possert-Bienzle, Tana node PGD3Kek2sMtZ (ideal groceries), 2026 [C]. The requirements this page is built from, in his own words.