Über das Projekt
Warum das Tool existiert
Ich stehe vor einem Jahr, in dem das Geld als Student eng sitzt. Gleichzeitig will ich nicht mit Nudeln und Toast über die Runden kommen. Gesund essen und wenig ausgeben klingt einfach. In der Praxis heißt es: Nährstoffe, Preise und Portionsgrößen im Kopf jonglieren.
Listen und Meal-Prep-Tipps reichten mir nicht. Ich wollte wissen, welche Mengen welcher Lebensmittel den Tagesbedarf decken und was das pro Tag kostet. Also habe ich das Problem in Daten und ein Optimierungsmodell gegossen statt in Bauchgefühl.
Features
Was der Rechner kann
- Lebensmittel-Datenbank: Preise und Nährwerte pro 100 g, 100 ml oder Stück. Suchen, filtern, editieren, speichern lokal im Browser.
- Profil: Körper, Aktivität, Ziel und Ernährungsstil steuern Tagesbedarf und den Lebensmittel-Pool für den Plan.
- Anforderungen: Min. und Max. pro Nährwert. Vorschläge aus dem Profil, manuell überschreibbar.
- Optimaler Plan: Ein Solver sucht die günstigste Kombination, die alle Grenzen erfüllt.
- Ernährungsstil: Filter wie Vegan, Vegetarisch, pescetarisch etc..
- Eigenschaften: Filter wie Whole Food, Laktosefrei, Glutenfrei, Verarbeitet, Supplement.
- Schadstoffe: Optimaler Plan darf keine Schadstoffe enthalten.
- Flüssigkeit: Der Rechner berücksichtigt auch den Flüssigkeitsbedarf.
- Eiweißqualität: Der Rechner berechnet den Amino-Acid Score.
- Privat: Keine Server-Anmeldung. Änderungen bleiben auf dem Gerät.
Technisches
Wie die Berechnung funktioniert
Die Frage ist simpel: Welche Mengen von welchen Lebensmitteln decken meinen Tagesbedarf und kosten so wenig wie möglich? Das Tool rechnet das in fünf Schritten.
1. Jedes Lebensmittel hat Zahlen
In der Datenbank steht pro Eintrag: Preis und Nährwerte (Kalorien, Protein, Eisen, …). Alles bezogen auf 100 g, 100 ml oder 1 Stück. Der Rechner multipliziert später Menge × Nährwert und Menge × Preis. Stimmt die Bezugsgröße nicht, stimmt der ganze Plan nicht.
2. Dein Tagesbedarf wird zu Grenzen
Aus Profil (Gewicht, Aktivität, Ziel, …) kommen Vorschläge wie „mindestens so viel Protein, höchstens so viele Kalorien“. Das sind Schranken: Untergrenze und/oder Obergrenze pro Nährstoff. Du kannst sie anpassen. Leer heißt: diese Grenze zählt nicht.
3. Der Pool wird kleiner
Nur Lebensmittel, die zu deinem Ernährungsstil und den Filtern passen (z. B. vegan, laktosefrei), kommen in die Rechnung. Alles andere fällt raus. Weniger Kandidaten, weniger Rechenaufwand, Plan passt zur eigenen Küche.
4. Der Solver sucht den billigsten Mix
Für jedes Lebensmittel im Pool fragt der Solver: „Wie viel davon pro Tag?“ Die Summe aller Kosten soll so klein wie möglich sein. Gleichzeitig muss die Summe der Nährstoffe aus allen gewählten Mengen jede gesetzte Grenze einhalten.
In Formeln sieht das so aus:
= Preis₁×Menge₁ + Preis₂×Menge₂ + …
Dabei gilt für jeden Nährstoff:
Untergrenze ≤ Summe aus allen Lebensmitteln ≤ Obergrenze
Mengen sind ≥ 0
(optional: nur ganze Gramm / Stück)
Mathematisch ist das ein lineares Programm: lineare Kosten, lineare Nährstoff-Summen, feste Grenzen. Der Solver (im Browser, oft in einem Worker, damit die Seite nicht hängt) sucht eine zulässige Lösung mit minimalen Kosten. Findet er keine, meldet er, welche Grenzen den Plan blockieren.
5. Was du zurückbekommst
Eine Liste: Lebensmittel + Menge + Anteil an den Kosten. Dazu die Nährstoff-Summen pro Tag. Der limiting factor (im UI oft mit blauem Strich) ist der Nährstoff, der den Plan am härtesten drückt: an der Untergrenze knapp erreicht oder an der Obergrenze eng. Dort lohnt es sich, Datenbank oder Schranken zu prüfen.
Technisch liegt alles unter /ernaerung/ als statische Seite (HTML/JS, JSON-Daten). Änderungen speichert der Browser lokal. Es gibt keinen Server, der mitrechnet.