Wie ich eine Kalorienapp nahezu nur mit KI erstellte

Am Ende dieses Artikels findet Ihr eine Android App zum Download. Diese App habe ich für mich aus persönlichem Interesse entwickelt. Sie visualisiert den Einfluss von sportlich verbrannten oder durch Verzicht auf Nahrungmittel vermiedenen Kalorien auf das Körpergewicht. Mit großer Sicherheit wird diese App nicht die ultimative Abnehm App sein. Ich habe mich auch vorher gar nicht auf dem Markt umgesehen und habe darum keine Vergleiche. Es ist ein Beispiel dafür, wie man eine nicht triviale App mit KI entwickeln kann.

Für das volle Verständnis was hier gemacht wurde, ist es wichtig zu verstehen was mein beruflicher Hintergrund und meine Fähigkeiten sind. Ich bin ein Autodidakt und habe mir mit 12 Jahren das Programmieren mit Hilfe von programmierbaren Taschenrechner selbst beigebracht. Die Möglichkeit mit Hilfe der Informatik Dinge zu realisieren, die ich mir selbst ausgedacht habe, hat mein Leben bestimmt und mir immer wieder viel Freude bereitet.

Ich kann mit Delphi, Lazarus, ArduinoIDE, Visual Studio und Eclipse in Object Pascal, C++, VB.NET, Java, JavaScript, notfalls in Maschinensprache programmieren, mit SQL Datenbanken abfragen und einiges mehr.

Kurz: Ich mag vielleicht nicht der beste Programmierer aller Zeiten sein, aber ich verstehe ein bisschen von Softwareentwicklung.

Als 2023 OpenAI ChatGPT 3.5 vorstellte hat mich das total beeindruckt, wie man ja auch an manchen Artikeln hier auf meinem Blog nachlesen kann. Nach dem ersten Ausprobieren von ChatGPT 3.5 war ich verblüfft, begriff aber auch schnell die Grenzen. Solange die KI gelegentlich halluzinierte musste ich jede Antwort, die ich tatsächlich verwenden wollte erst einmal auf den Wahrheitsgehalt hin prüfen. Ich hörte davon dass GPT-4 deutlich besser sein sollte und entschied mich die monatlichen, etwa 20 Euro für ein Abo locker zu machen. Diese Investition habe ich nie bereut! Leider wird es so sein, dass Menschen die in Zukunft keine oder mindere KIs einsetzen, immer gegenüber denen, die eine deutlich besser KI verwenden können, im Nachteil sein werden.

In diesem Artikel will ich Euch zeigen wie ich mit KIs eine App entwickle.

Ich will in diesem Artikel aber nicht auf Vor- und Nachteile einer KI eingehen, sondern den bisher vielleicht immer noch skeptischen Entwicklern ganz reale Vorteile beim Einsatz einer KI aufzeigen. KIs sind noch nicht vollkommen, aber sie sind meist besser als durchschnittliche Fachleute eines Fachgebietes. Eine Sichtweise die sich bei mir absolut bewährt hat, ist es die KI als meinen persönlichen Assistenten oder Programmierer zu betrachten. Er wird Fehler machen, aber er wird auch viel Arbeit für mich übernehmen! Auch von einem Mitarbeiter erwarte ich nicht das er perfekt ist und dass lass ich im Moment auch für eine KI gelten. Mich versetzt es in die Lage Projekte anzugehen, die ich vielleicht sonst nicht realisiert hätte, da mir der dafür geschätzte Zeitaufwand zu groß ist.

Die Programmidee

Manchmal habe ich das Gefühl ein paar Kilo zu viel auf den Rippen zu haben. Dann möchte ich die gerne wieder los werden und denke ich fahre einfach ein bisschen mehr Fahrrad oder esse etwas weniger. Das mache ich dann so 2 Wochen und wundere mich, warum es auf der Waage trotzdem nicht weniger wird. Also habe ich überlegt wie ich mir die tatsächlichen Möglichkeiten besser visualisieren kann. Daraus entstand dann die Idee eine App mit folgenden Funktionen zu erstellen:

  • Das tatsächliche Übergewicht berechnen.

  • Den Grundbedarf und TDEE an Kalorien berechnen

  • Eine visuelle Darstellung des Zusammenhangs zwischen Übergewicht und der durch sportliches Training oder reduzierte Nahrungsaufnahme verringerten täglichen Kalorienmenge.

Im Moment habe ich keine Erfahrung mit CoPilot oder anderen Systemen zur interaktiven Codeentwicklung. Der Grund ist meine Abneigung gegenüber Microsoft und auch Vermeidung von zusätzlichen Abonnements. Ich bezahle fast seit Anfang an (2023) meine 20 Euro an OpenAI und möchte erst einmal dabei bleiben. Sollte sich im Verlauf der nächsten Monate eine andere KI als deutlich überlegen zeigen, werde ich vielleicht auf diese wechseln. Zum Startzeitpunkt der Entwicklung der App war gerade Grok 3 erschienen und da ich zum Testen den kostenlosen Account dazu habe, probierte ich es als erstes damit.

Als ich die App entwickelte war gerade Grok 3 erschienen und ich dachte ich teste mal wie es sich beim Programmieren so macht. Darum forderte ich es auf, eine Eingabeseite für Android Studio in KotLin zu bauen. Es legte auch gleich los und präsentierte mir verschiedenen Code für unterschiedliche Dateien. Da ich mich nicht mehr an die lange zurück liegende Entwicklung von MoveTracker in Eclipse erinnerte, war alles erst einmal fremd und ich fragte wo ich diesen Code in Android Studio angeben muss. Dabei unterstützte mich Grok 3 und erklärte mir detailliert wie ich das machen kann. Das größte Problem am Anfang waren meine nicht vorhandene Vorstellung wie man aktuell mit Android entwickelt und damit einhergehend meine fehlenden Vorgaben. Das führte dazu dass es irgendetwas voraussetzte und die App mit XML-Layout erstellte. Was wiederum zu Problemen mit dem von mir beim Start von Android Studio gewählten Template führte und den den damit verbundenen Bibliotheken führte. Das ging so ein paar Stunden und ich war kurz davor aufzugeben, da immer irgendetwas fehlte. Zwischendurch haben wir dann erst einmal ein einfaches ‚Hallo World!‘ in der App Form erstellt und das funktionierte! Also war schon einmal grundsätzlich alles da um Apps zu entwickeln. Irgendwann in diesem Prozess stieß ich auf ‚Jetpack Compose‘. Damit wird die UI durch Funktionen beschrieben, die den aktuellen Zustand der App widerspiegeln. Ändert sich der Zustand, aktualisiert Compose die UI automatisch.

Nachdem wir uns diesbzgl. auf einen Nenner (Jetpack Compose) geeinigt und passende Umgebungen und Bibliotheken installiert hatten, funktionierte die Zusammenarbeit wesentlich besser. Relativ schnell hatte ich eine einfache App mit einem Eingabeformular und der Berechnung des BMI. Genauso schnell war aber auch klar, dass dieser uns in die Irre führte, da er eventuell vorhandene Muskelmasse nicht berücksichtigt. Ich habe bis dahin keine einzige Zeile von Hand codiert! Immer nur im Prompt beschrieben was nicht funktionierte oder einfach Fehlermeldungen aus der Android Studio Konsole in den Prompt kopiert, falls es sich nicht kompilieren lies.

Auf meine Frage schlug er von sich aus vor den Körperfettanteil zu berücksichtigen und präsentierte dazu verschiedene Verfahren wie die YMCA oder die Navy Methode. Diese recherchierte ich im Internet und es gab sie tatsächlich. Da dazu aber zusätzlich Werte wie der Umfang von Bauch, Hüfte und Hals notwendig sind, wäre die App nicht ohne Maßband verwendbar. Darum schlug ich der KI vor mit Schätzwerten mit Hilfe eines Popupmenüs zu arbeiten, woraufhin sie mir den kompletten passenden Code mit passenden samt passender Begriffe für das Popupmenü erstellte.

 

private val aktivitaetsStufen = listOf(

AktivitaetsStufe("Inaktiv (kaum Bewegung)", 1.2, 0.30, 0.365),

AktivitaetsStufe("Leicht aktiv (1–3 Mal/Woche)", 1.375, 0.225, 0.305),

AktivitaetsStufe("Mäßig aktiv (3–5 Mal/Woche)", 1.55, 0.175, 0.255),

AktivitaetsStufe("Sehr aktiv (regelmäßige Bewegung)", 1.725, 0.125, 0.205),

AktivitaetsStufe("Extrem aktiv (leistungsorientiert)", 1.9, 0.08, 0.16)

)

Inklusive

  • pal - Physical Activity Level (PAL): Faktor zur Berechnung des TDEE (= BMR × PAL), also wie aktiv eine Person im Alltag ist

  • koerperfettMittelwertM - Durchschnittlicher Körperfettanteil (KFA) für Männer auf dieser Aktivitätsstufe, wenn geschätzt werden muss

  • koerperfettMittelwertF - Durchschnittlicher KFA für Frauen auf dieser Stufe

Während der Entwicklung ist mir aufgefallen, dass die Diskussion mit der KI schwierig ist, wenn starke Abhängigkeiten zwischen verschiedenen Dateien herrschen und der KI im aktuellen Thread nur der Quelltext einer Datei zur Verfügung steht. Sie macht dann immer noch gute Lösungen im Rahmen ihres beschränkten Kontexts, aber diese passen dann nicht mehr zum gesamten Quellcode der App. Dank der mittlerweile sehr großen Kontextfenster der KIs ist es aber möglich auch alle Dateien beim Start einer Verbesserungssession zu übergeben. Das ist theoretisch möglich, in dem man den Quelltext aller Dateien einzeln in den Eingabebereich eingibt. Komfortabler geht es aber mit der ‚Anhängen‘-Funktion. So hat die KI den kompletten Code und entwickelt die Lösungen passend dazu. Wie jeder Informatiker aber weiß lässt sich das Problem auch grundsätzlicher lösen: Teile und herrsche! So habe ich von Anfang an versucht die App in einzelne Teile zu zerlegen die sich leichter voneinander unabhängig bearbeiten lassen. Zuerst habe ich die KI gebeten den aktuellen Code in ein Formular und einen Berechnungsteil zu zerlegen und dabei darauf zu achten dass auch die Daten zentral gehalten sind, so dass jede zusätzliche Funktion darauf zurück greifen kann.

In das Eingabeformular lies ich mir noch Felder für die direkte Angabe des Körperfettanteils und die Umfänge von Bauch, Hüfte und Hals einbauen. Die Berechnung lies ich so anpassen, dass die App in Abhängigkeit von den zur Verfügung stehenden Werten automatisch eines dieser Verfahren nimmt:

  • DIRECT – Direkte Eingabe des Körperfettanteils durch den Nutzer (z. B. per Messung)

  • SCHÄTZUNG – Schätzung anhand der Aktivitätsstufe und Durchschnittswerte für Männer/Frauen

  • YMCA – Näherungsformel auf Basis von Bauchumfang und Gewicht (ohne Hals oder Hüfte)

  • NAVY – US Navy-Methode: Berechnung mit Bauch-, Hals-, (bei Frauen auch Hüft-)Umfang und Größe

Nachdem die Aufteilung in Eingabeformular und Berechnung soweit gelungen war habe ich darauf geachtet, dass jede neue Anzeigeseite in einer eigenen Datei landet. So ist es später wesentlich leichter über die KI Änderungen vornehmen zu lassen, da nicht mehr alle Dateien übergeben werden müssen.

Ziemlich oft machte die KI Änderungen die eine zusätzliche Bibliothek erforderten. Die sie aber nicht im Code eintrug. Was beim Kompilieren natürlich zu Problemen wegen dem fehlenden Import führte. Da ich die ganzen Bibliotheken auch nicht im Kopf habe, habe ich der KI dann einfach die Fehlermeldung vorgesetzt, worauf sie immer brav die komplette ‚Import‘ Zeile für die Bibliothek zurücklieferte.

Es gab durchaus manchmal Verständnisschwierigkeiten, wobei die möglicherweise eher bei mir vorhanden waren. Habe ich dann eine Stunde oder so keinen Fortschritt erzielt und dabei einen ziemlich langen Thread erzeugt, der ja bei jeder Anfrage komplett im Prompt mitgegeben wird, so habe ich bemerkt wie die Antwortzeiten träger wurden und sich die KI manchmal auch schwer tat heraus zu finden, auf was ich mich in meinen Gedanken tatsächlich bezog. Manchmal war es auch einfach spät abends und ich war müde. Dann habe ich mir am nächsten Tag alles zusammen fassen lassen und in einem neuen Thread begonnen. Bessere Ergebnisse erzielte ich aber, wenn ich mit der Angabe aller Dateien in einem neuen Thread angefangen habe und mein, durch die vorherige Diskussion mit der KI verbessertes Verständnis aller Zusammenhänge, in neue, besser passende, Fragen packte.

Manchmal wechselte ich dabei auch komplett die KI und arbeitet mit ChatGPT weiter. Das wechselte ab und zu hin und her. So ist die letztlich entstandene App ein Gemeinschaftswerk von Grok 3, ChatGPT und mir!

Abnehmkreis

Nachdem ich nun die Berechnungsgrundlage für meine App fertig hatte, ging es an die Visualisierung der Daten. Ohne eine perfekte Vorstellung dazu im Kopf zu haben, gab ich der KI vor, eine neue Datei zu erstellen, die ein Kreisdiagramm mit einem schmalen Rand zeichnet und auf diesem Rand die durch eine Sportart und einen Zeitrahmen vorgegebene tägliche Kalorienverbrennung anteilig über Slider visualisiert. Zusätzlich sollte es auch möglich sein durch eine verringerte Nahrungszufuhr Einfluss nehmen zu können. Da haute mir die KI auf Anhieb eine brauchbare Datei raus. Es dauerte dann noch eine Zeitlang, bis ich die korrekt in ‚MainActiviy.kt‘ eingebaut hatte und die Aufrufe der in dieser Datei kodierten visuellen Darstellung reibungslos funktionierten, aber ich hatte relativ schnell eine visuelle Darstellung des Zusammenhangs zwischen Sport und Nahrungsmittelzufuhr auf das Gewicht! Das war eigentlich schon alles und ich habe mich sehr gefreut. Kleine gewünschte Modifikationen von mir, wie zum Beispiel dass die Farbe der Essenskalorien nicht in die Farbe des Sportanteils hinein ‚sliden’ darf, haben manchmal zu Fehlern geführt. Aber immer konnte ich nach einigem Hin und Her die KI dazu bringen alles richtig zu machen.

Die Sportart baute ich übrigens ebenfalls noch in das Eingabeformular ein, so dass der Anwender sie bequem aus einer Popupliste wählen kann und die damit verbundenen Kalorienwerte in der Folge für alle weiteren Berechnungen verwendet werden. Nach Anfrage schlug mir die KI den kompletten Code mit einigen Breitensportarten vor, die ich individuell um Sportarten erweiterte, die mir persönlich am Herzen lagen. Wie schon geschrieben: Die KI schlug dabei von selbst passende Kalorienwerte vor, sortierte die komplette Liste aufsteigend und gab mir den komplett passenden Code zurück!



private val sportarten = listOf(

Sportart("Yoga (Hatha)", 2.5),

Sportart("Bowling", 3.8),

Sportart("Tischtennis", 4.0),

Sportart("Tanzen (gemäßigt)", 4.5),

Sportart("Gehen (6 km/h)", 5.0),

Sportart("E-Bike (engagiert)", 5.5),

Sportart("Schwimmen (leicht)", 5.8),

Sportart("Radfahren (16 km/h)", 6.0),

Sportart("Joggen (8 km/h)", 8.0),

Sportart("Tennis (Einzel)", 8.0),

Sportart("Volleyball (Vereinsspieler)", 8.0),

Sportart("Krafttraining (intensiv)", 8.0),

Sportart("Rennrad (flache Strecke)", 8.5),

Sportart("Mountainbike (bergauf)", 10.0),

Sportart("Fußball (Freizeit)", 10.0),

Sportart("Schwimmen (schnell)", 10.3),

Sportart("Laufen (12 km/h)", 12.5),

Sportart("Seilspringen (schnell)", 12.5)

)

Später lies ich noch einen ‚Zeit‘-Slider für die Sportart einbauen.

Bei der Arbeit mit der KI gab mir diese auf meine Fragen als Antwort oft nur den zu verändernden Code an verschiedenen Stellen zurück. Da mich die Heraussuche dieser Stellen und die Änderung selbst einiges an Zeit kostete, forderte ich meist den kompletten Code der Datei, was meistens gut funktionierte.

Mahlzeiten

Es gab allerdings noch eine 3. Sache, die der App echt gut stehen würde und von der ich aber dachte dass sie mich, selbst mit KI Unterstützung, zu viel Zeit kosten würde! Ich dachte mir dass für den Anwender auch die visuelle Nahrungsmittelzusammenstellung einen Lerneffekt haben dürfte. Ich stellte mir eine Seite vor, in der der Anwender für Frühstück, Mittagessen und Abendbrot aus einer umfangreichen Liste mit Nahrungsmitteln seine individuell gewünschten Speisen zusammenstellen kann und dann direkt sieht wie viele kCal die am Tag zusammen haben. Dazu sind aber ziemlich viele Bilder notwendig. Um Rechtsprobleme zu vermeiden und nicht tausende von echten Bildern zu kaufender Nahrungsmittel einscannen zu müssen, entschloss ich mich dazu plakative Icons zu verwenden. Aber wer malt die für mich?

Ich konfrontierte die KI mit meinem Problem und sie machte mir den Vorschlag, dass sie ein Python Programm schreibt, welches eine von ihr erstellte Liste mit Lebensmitteln abarbeitet und für jedes Lebensmittel automatisch über meinen Programmierer Account von OpenAI (API) ein Bild mit Dall·E 3 malen lässt! Hammer! Das hatte ich nicht erwartet und es ist die perfekte Lösung!

Kurz experimentierte ich mit verschiedenen Listenformaten, entschied mich dann für CSV und lies die komplette Liste automatisch erzeugen, samt Bezeichnung, Gewicht, Kalorien, Beschreibung, Dateinamen und ob vegetarisch oder vegan. Die eigentlich Generierung dauerte dann ein bisschen, aber zum Schluss hatte ich ein Verzeichnis voll mit hübschen Icons. Wenn mal eines nicht so schön war habe ich es gelöscht und das Programm einfach neu gestartet, woraufhin es mir die fehlenden Bilder etwas anders neu generierte.

Mit den ganzen Bildern gerüstet lies ich mir von der KI erklären wo Liste und Bilder im Verzeichnissystem hin müssen damit eine neue Mahlzeiten Seite der App in einer neuen Programmdatei codiert werden kann. Auch hier gab es noch Änderungen in der Art wie die Mahlzeitenliste und die gewählten, aber auch die zu wählenden, Speisen in der App dargestellt werden können und die Möglichkeit die Speisen über eine Gruppierung leichter auswählen zu können. Was übrigens dann auch noch zu einer Änderung im Listenformat führte. Aber das alles klappte mittlerweile recht zügig und auch dabei erstellte die KI nahezu jede notwendige Codeänderung ganz allein.

Alles in allem habe ich geschätzt für die Entwicklung der App 2 – 3 Arbeitstage gebraucht, die allerdings über mehrere Tage und Abende verteilt waren. Mag sein dass es Programmierer gibt die eine solche App in der gleichen Zeit programmieren können. Ich hätte es nicht gekonnt und ich hätte diese App ohne KI nicht programmiert!

Was bedeutet das nun für die zukünftige Entwicklung mit KIs? Ich denke eher nicht, dass ein nicht des Programmierens fähiger Mensch diese App hätte entwickeln können. Es war an vielen Stellen wichtig, dass ich grundlegende Zusammenhänge des Softwareentwicklung verstanden habe und die KI und ich dadurch auf einer Ebene miteinander kommunizieren konnten. Aber für mich war es eine riesige Erleichterung die mir Mut macht auch in Zukunft Prjekte anzugehen, vor denen ich mich bisher angesichts des geschätzten Aufwands gescheut hätte.

Ich habe die KI einen Werbetext für meine App machen lassen:

Visual Weight Loss – Deine smarte App zum nachhaltigen Abnehmen

Mit Visual Weight Loss erreichst du deine Ziele effizient und fundiert – dank intelligenter Berechnungen, anschaulicher Visualisierung und individueller Ernährungsauswahl. Diese App kombiniert modernste Technologie mit bewährtem Wissen über Kalorienverbrauch, Körperfettanteil und gesunde Ernährung.

Durchdacht und individuell

  • Berechne deinen Grundumsatz (BMR) und Gesamtenergieverbrauch (TDEE) – exakt abgestimmt auf Alter, Geschlecht, Größe, Gewicht, Aktivitätsstufe und Sportart.

  • Wähle die Methode zur Körperfettbestimmung, die zu dir passt: direkt, geschätzt, YMCA oder US Navy.

Übergewicht verstehen & gezielt abbauen

  • Die App zeigt dir, wie viel Kilogramm du abnehmen könntest – und wie viele Tage es realistischerweise dauert.

  • Visualisiert im einzigartigen Abnehmkreis: Dein tägliches Kaloriendefizit aus Sport und Ernährung wird grafisch aufbereitet.

Mahlzeiten clever planen

  • Stelle dir Frühstück, Mittagessen und Abendessen individuell zusammen – aus über 100 visuell dargestellten Lebensmitteln.

  • Sofort siehst du die tägliche Kalorienmenge deiner Auswahl.

  • Gruppiere nach Kategorien, entdecke vegetarische und vegane Optionen, und erfahre mehr über jede Speise mit einem Tipp auf das Icon.

Sport als Schlüssel

  • Wähle deine Sportart aus einer umfangreichen Liste: vom Spaziergang bis zum Mountainbiken.

  • Passe Trainingsdauer und Intensität mit intuitiven Slidern an und sieh sofort, welchen Effekt dein Training auf das Kaloriendefizit hat.

Alles bleibt gespeichert

  • Die App merkt sich deine Daten und Einstellungen – damit du nicht jedes Mal von vorne anfangen musst.

Fazit:

Visual Weight Loss ist dein persönlicher Abnehm-Assistent – datenbasiert, visuell und motivierend. Entwickelt mit Leidenschaft und modernster KI-Unterstützung. Lade die App jetzt herunter und erlebe, wie Technik und Gesundheit Hand in Hand gehen!

Android Smartphone Besitzer können sich die App hier downloaden und selbst ausprobieren!

  • Related Posts

    Wie Elon tickt

    Elon Musk gehört zweifellos zu den faszinierendsten Persönlichkeiten unserer Zeit. Bekannt durch ambitionierte Projekte wie Tesla, SpaceX und neuerdings X (vormals Twitter), lohnt es sich, genauer zu betrachten, was diesen…

    Wie ich zusammen mit Grok 3 die Zukunft der KI entwickle!

    Einleitung Mein Protokoll einer Sitzung mit Grok 3 beschreibt meine faszinierende Reise durch die Vision, eine lokal lauffähige KI für einen durchschnittlichen PC zu entwickeln. Er beginnt mit meiner Idee,…

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

    You Missed

    Was leistet die CPU für unter 200 Euro?

    • Von Zuseway
    • Mai 12, 2025
    • 12 views

    Einblicke in die Welt des Tech-Journalismus

    Die Kunst des Preises: Wie eine Zahl die Spielewelt veränderte

    • Von Zuseway
    • Mai 12, 2025
    • 18 views
    Die Kunst des Preises: Wie eine Zahl die Spielewelt veränderte

    Der neue Sound in der Cloud: Eine Ode an die Eula

    • Von Zuseway
    • Mai 11, 2025
    • 15 views

    AMD’s Strix Halo Mini PC: Innovation oder Nachahmung?

    Zwei Bildschirme, unendliche Möglichkeiten: Der iPad-Doppelgänger

    • Von Zuseway
    • Mai 11, 2025
    • 18 views
    Zwei Bildschirme, unendliche Möglichkeiten: Der iPad-Doppelgänger