Nom Nom

NOMNOM ist eine Koch-App, die während der Covid-19-Pandemie als UX-Design-Projekt entstanden ist. Die App verbindet Menschen über gemeinsame Kocherlebnisse — mit geteilten Rezepten, Einkaufslisten, Videochat und personalisierbaren Avataren (Noms). Entstanden als Teamarbeit mit Lars Karhof.

Rahmenbedingungen & Zielbild

Ausgangslage

Die Covid-19-Pandemie führte zu sozialer Isolation. Gemeinsames Kochen — eine der beliebtesten sozialen Aktivitäten — war plötzlich nicht mehr möglich. User Research zeigte: Über die Hälfte der Befragten kocht regelmäßig mit Freunden, und es bestand eine hohe Akzeptanz für digitale Alternativen.

Zielsetzung

Eine App entwickeln, die das gemeinsame Kocherlebnis trotz räumlicher Distanz ermöglicht — mit intuitivem Zugang zu Rezepten, Event-Planung und Videochat. Die App-Architektur sollte schnellen Zugriff auf Hauptfunktionen priorisieren und den Weg zum Videochat so schlank wie möglich gestalten.

Meine Rolle & Verantwortlichkeiten

Dieses Projekt entstand in einer sechsmonatigen Zusammenarbeit mit Lars Karhof im Rahmen eines UX-Design-Studiums. Der gesamte Prozess — von der initialen Problemanalyse bis zum finalen Klickdummy — wurde gemeinsam durchlaufen.

Mein Verantwortungsbereich umfasste:

  • User Research: Konzeption und Durchführung mehrerer quantitativer Umfragen zur Validierung der Produktidee — Kochverhalten, soziale Gewohnheiten, Servicebereitschaft (n=36 Teilnehmer)
  • Feature Mapping: Systematische Priorisierung und Strukturierung der App-Funktionen basierend auf den Research-Ergebnissen
  • UX Design & User Flows: Entwicklung der gesamten Informationsarchitektur, Navigation und Nutzerführung über fünf Kernbereiche
  • UI Design: Visuelles Konzept, Komponentenbibliothek, Screen-Design und das eigenständige Avatar-System "Noms"
  • Prototyping: Erstellung eines vollständigen Klickdummies in Adobe XD für Usability-Tests und Stakeholder-Präsentationen

UX / UI – Konzept & Entscheidungen

Die Informationsarchitektur wurde auf schnellen Zugang zu den Kernfunktionen optimiert. Bestehende Events führen direkt zum Videochat, während neue Events flexibel nach Datum, Rezept oder Freunden erstellt werden können. Die personalisierbaren Avatare (Noms) dienen als Markendifferenzierung und schaffen eine freundliche Atmosphäre. Animationen bestätigen Nutzeraktionen wie Event-Erstellung.

<div data-tn style="display:none">Umfrage: Kochverhalten</div><style> .nn-pie-wrap{width:100%;background:#FFFFFF;padding:24px 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif} .nn-pie-title{font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 4px;text-align:center} .nn-pie-sub{font-size:13px;color:#6B7280;margin:0 0 24px;text-align:center} .nn-pie-body{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap} .nn-pie-chart{width:320px;height:320px;flex-shrink:0} .nn-pie-chart svg{width:100%;height:100%} .nn-pie-seg{transition:opacity .2s ease,transform .2s ease;transform-origin:160px 160px;cursor:pointer} .nn-pie-seg:hover{opacity:0.85;transform:scale(1.04)} .nn-pie-legend{display:flex;flex-direction:column;gap:10px} .nn-pie-leg-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;transition:background .2s;cursor:default} .nn-pie-leg-item:hover{background:#F3F4F6} .nn-pie-leg-dot{width:12px;height:12px;min-width:12px;border-radius:50%} .nn-pie-leg-label{font-size:13px;color:#374151;font-weight:500;min-width:110px} .nn-pie-leg-val{font-size:13px;color:#6B7280;font-weight:600} .nn-pie-n{font-size:11px;color:#9CA3AF;text-align:center;margin-top:16px} @media(max-width:640px){.nn-pie-body{flex-direction:column;gap:20px}.nn-pie-chart{width:260px;height:260px}} </style> <div class="nn-pie-wrap"> <p class="nn-pie-title">Triffst du dich mit Freunden um zusammen zu kochen?</p> <p class="nn-pie-sub">Häufigkeit gemeinsamer Kochabende</p> <div class="nn-pie-body"> <div class="nn-pie-chart"> <svg viewBox="0 0 320 320"> <path d="M 160 160 L 160.0 20.0 A 140 140 0 0 1 230.0 38.8 Z" fill="#E8967F" stroke="#FFFFFF" stroke-width="2" class="nn-pie-seg" data-nn-idx="0"><title>Jede Woche: 3 (8,3%)</title></path> <path d="M 160 160 L 230.0 38.8 A 140 140 0 0 1 281.2 90.0 Z" fill="#D4725E" stroke="#FFFFFF" stroke-width="2" class="nn-pie-seg" data-nn-idx="1"><title>3x pro Monat: 3 (8,3%)</title></path> <path d="M 160 160 L 281.2 90.0 A 140 140 0 0 1 230.0 281.2 Z" fill="#C0543C" stroke="#FFFFFF" stroke-width="2" class="nn-pie-seg" data-nn-idx="2"><title>2x pro Monat: 9 (25%)</title></path> <path d="M 160 160 L 230.0 281.2 A 140 140 0 0 1 52.8 250.0 Z" fill="#A0432E" stroke="#FFFFFF" stroke-width="2" class="nn-pie-seg" data-nn-idx="3"><title>1x pro Monat: 8 (22,2%)</title></path> <path d="M 160 160 L 52.8 250.0 A 140 140 0 0 1 22.1 135.7 Z" fill="#6B7280" stroke="#FFFFFF" stroke-width="2" class="nn-pie-seg" data-nn-idx="4"><title>nie: 5 (13,9%)</title></path> <path d="M 160 160 L 22.1 135.7 A 140 140 0 0 1 160.0 20.0 Z" fill="#9CA3AF" stroke="#FFFFFF" stroke-width="2" class="nn-pie-seg" data-nn-idx="5"><title>Unregelmäßig: 8 (22,2%)</title></path> </svg> </div> <div class="nn-pie-legend"> <div class="nn-pie-leg-item" data-nn-idx="0"><span class="nn-pie-leg-dot" style="background:#E8967F"></span><span class="nn-pie-leg-label">Jede Woche</span><span class="nn-pie-leg-val">3 (8,3%)</span></div> <div class="nn-pie-leg-item" data-nn-idx="1"><span class="nn-pie-leg-dot" style="background:#D4725E"></span><span class="nn-pie-leg-label">3x pro Monat</span><span class="nn-pie-leg-val">3 (8,3%)</span></div> <div class="nn-pie-leg-item" data-nn-idx="2"><span class="nn-pie-leg-dot" style="background:#C0543C"></span><span class="nn-pie-leg-label">2x pro Monat</span><span class="nn-pie-leg-val">9 (25%)</span></div> <div class="nn-pie-leg-item" data-nn-idx="3"><span class="nn-pie-leg-dot" style="background:#A0432E"></span><span class="nn-pie-leg-label">1x pro Monat</span><span class="nn-pie-leg-val">8 (22,2%)</span></div> <div class="nn-pie-leg-item" data-nn-idx="4"><span class="nn-pie-leg-dot" style="background:#6B7280"></span><span class="nn-pie-leg-label">nie</span><span class="nn-pie-leg-val">5 (13,9%)</span></div> <div class="nn-pie-leg-item" data-nn-idx="5"><span class="nn-pie-leg-dot" style="background:#9CA3AF"></span><span class="nn-pie-leg-label">Unregelmäßig</span><span class="nn-pie-leg-val">8 (22,2%)</span></div> </div> </div> <p class="nn-pie-n">n = 36 Teilnehmer</p> </div>
<div data-tn style="display:none">Umfrage: Lieferdienste</div><style> .nn-bar-wrap{width:100%;background:#FFFFFF;padding:24px 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif} .nn-bar-title{font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 4px;text-align:center} .nn-bar-sub{font-size:13px;color:#6B7280;margin:0 0 8px;text-align:center} .nn-bar-scale{display:flex;justify-content:space-between;font-size:11px;color:#9CA3AF;margin-bottom:24px;padding:0 20px} .nn-bar-area{display:flex;align-items:flex-end;justify-content:center;gap:24px;height:280px;padding:0 20px} .nn-bar-col{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;max-width:80px;height:100%} .nn-bar-val{display:flex;flex-direction:column;align-items:center;gap:2px;flex-grow:1;justify-content:flex-end} .nn-bar-count{font-size:20px;font-weight:800;color:#C0543C} .nn-bar-pct{font-size:11px;color:#6B7280;font-weight:600} .nn-bar-bar{width:56px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#E8967F 0%,#C0543C 100%);min-height:8px;transition:transform .2s ease,box-shadow .2s ease} .nn-bar-col:hover .nn-bar-bar{transform:scaleY(1.04);box-shadow:0 4px 16px rgba(192,84,60,0.25)} .nn-bar-col:hover .nn-bar-count{color:#8B3A28} .nn-bar-label{font-size:14px;font-weight:700;color:#374151} .nn-bar-foot{display:flex;justify-content:space-between;font-size:11px;color:#9CA3AF;margin-top:8px;padding:0 20px} .nn-bar-n{font-size:11px;color:#9CA3AF;text-align:center;margin-top:16px} @media(max-width:640px){.nn-bar-area{gap:12px;height:220px}.nn-bar-bar{width:40px}.nn-bar-count{font-size:16px}} </style> <div class="nn-bar-wrap"> <p class="nn-bar-title">Wahrscheinlichkeit: Kochbox-Service nutzen</p> <p class="nn-bar-sub">Wenn es in der Nähe einen Kochbox-Abholservice gäbe, wie wahrscheinlich wäre die Nutzung?</p> <div class="nn-bar-scale"><span>Sehr wahrscheinlich</span><span>Sehr unwahrscheinlich</span></div> <div class="nn-bar-area"> <div class="nn-bar-col"> <div class="nn-bar-val"><span class="nn-bar-count">15</span><span class="nn-bar-pct">41,7%</span></div> <div class="nn-bar-bar" style="height:100.0%"></div> <div class="nn-bar-label">1</div> </div> <div class="nn-bar-col"> <div class="nn-bar-val"><span class="nn-bar-count">4</span><span class="nn-bar-pct">11,1%</span></div> <div class="nn-bar-bar" style="height:26.666666666666668%"></div> <div class="nn-bar-label">2</div> </div> <div class="nn-bar-col"> <div class="nn-bar-val"><span class="nn-bar-count">8</span><span class="nn-bar-pct">22,2%</span></div> <div class="nn-bar-bar" style="height:53.333333333333336%"></div> <div class="nn-bar-label">3</div> </div> <div class="nn-bar-col"> <div class="nn-bar-val"><span class="nn-bar-count">8</span><span class="nn-bar-pct">22,2%</span></div> <div class="nn-bar-bar" style="height:53.333333333333336%"></div> <div class="nn-bar-label">4</div> </div> <div class="nn-bar-col"> <div class="nn-bar-val"><span class="nn-bar-count">1</span><span class="nn-bar-pct">2,8%</span></div> <div class="nn-bar-bar" style="height:6.666666666666667%"></div> <div class="nn-bar-label">5</div> </div> </div> <p class="nn-bar-n">n = 36 Teilnehmer</p> </div>
<div data-tn style="display:none">User Flow</div><style> .nn-fl{width:100%;background:#FFFFFF;padding:28px 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif} .nn-fl-title{font-size:17px;font-weight:700;color:#1A1A1A;margin:0 0 4px;text-align:center} .nn-fl-sub{font-size:13px;color:#6B7280;margin:0 0 24px;text-align:center} .nn-fl-steps{display:flex;flex-direction:column;align-items:center;gap:0} .nn-fl-step{display:flex;align-items:center;gap:14px;background:#F9FAFB;border-radius:10px;padding:14px 18px;width:100%;max-width:440px;transition:background .2s} .nn-fl-step:hover{background:#F3F4F6} .nn-fl-icon{font-size:22px;min-width:36px;text-align:center} .nn-fl-info h4{font-size:14px;font-weight:700;color:#1A1A1A;margin:0 0 2px} .nn-fl-info p{font-size:12px;color:#6B7280;margin:0;line-height:1.4} .nn-fl-arrow{color:#D1D5DB;font-size:18px;margin:4px 0} </style> <div class="nn-fl"> <p class="nn-fl-title">User Flow — Kochevent planen</p> <p class="nn-fl-sub">Vom App-Start bis zum gemeinsamen Kochen per Video</p> <div class="nn-fl-steps"><div class="nn-fl-step"> <div class="nn-fl-icon">&#128075;</div> <div class="nn-fl-info"><h4>App öffnen & Nom wählen</h4><p>Avatar (Nom) begrüßt den User — persönlicher Einstieg mit Wiedererkennungswert</p></div> </div><div class="nn-fl-arrow">&#8595;</div><div class="nn-fl-step"> <div class="nn-fl-icon">&#128197;</div> <div class="nn-fl-info"><h4>Event erstellen</h4><p>Datum, Uhrzeit und Freunde einladen — oder bestehendem Event beitreten</p></div> </div><div class="nn-fl-arrow">&#8595;</div><div class="nn-fl-step"> <div class="nn-fl-icon">&#127858;</div> <div class="nn-fl-info"><h4>Rezept auswählen</h4><p>Gemeinsames Rezept wählen oder vorschlagen lassen — Einkaufsliste wird automatisch generiert</p></div> </div><div class="nn-fl-arrow">&#8595;</div><div class="nn-fl-step"> <div class="nn-fl-icon">&#128722;</div> <div class="nn-fl-info"><h4>Einkaufsliste nutzen</h4><p>Zutaten abhaken, teilen oder direkt zum Lieferdienst weiterleiten</p></div> </div><div class="nn-fl-arrow">&#8595;</div><div class="nn-fl-step"> <div class="nn-fl-icon">&#127909;</div> <div class="nn-fl-info"><h4>Video-Koch-Session</h4><p>Live-Videocall mit Rezeptanleitung, Timer und Gesten-Steuerung</p></div> </div><div class="nn-fl-arrow">&#8595;</div><div class="nn-fl-step"> <div class="nn-fl-icon">&#127881;</div> <div class="nn-fl-info"><h4>Abschluss & Sharing</h4><p>Ergebnis-Foto teilen, Rezept bewerten, nächstes Event planen</p></div> </div></div> </div>

UI Design – Umsetzung der Konzepte

Das visuelle Konzept von Nom Nom setzt auf den Kontrast zwischen dunkler Food-Fotografie und einer hellen, cleanen UI. Die fünf Hauptbereiche — Home, Rezepte, Kalender, Einkaufsliste und Einstellungen — folgen einer konsistenten Design-Sprache mit klarer Typografie-Hierarchie und einer warmen Akzentfarbe in Orange.

Ein zentrales Differenzierungsmerkmal ist das Avatar-System "Noms": individuell konfigurierbare Charaktere mit verschiedenen Gesichtsformen, Hautfarben und Frisuren. Die Noms dienen als persönlicher Begleiter innerhalb der App, bestätigen Nutzeraktionen durch Animationen und schaffen eine emotionale Bindung. Sie verleihen der Marke eine unverwechselbare visuelle Identität und transportieren Wärme, Diversität und Spaß.

Die Tab-Navigation am unteren Bildschirmrand bietet direkten Zugang zu allen Kernfunktionen. Rezeptkarten nutzen großflächige Food-Fotografie als visuellen Anker, während die Einkaufsliste bewusst reduziert und funktional gestaltet ist. Das Kalender-View verbindet Event-Planung mit der Koch-Timeline.

<style> .nn-ds{width:100%;background:#FFFFFF;padding:32px 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif} .nn-ds-title{font-size:18px;font-weight:700;color:#1A1A1A;margin:0 0 4px;text-align:center} .nn-ds-sub{font-size:13px;color:#6B7280;margin:0 0 28px;text-align:center} .nn-ds-section{margin-bottom:28px} .nn-ds-label{font-size:11px;font-weight:700;color:#9CA3AF;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px} .nn-ds-colors{display:flex;gap:12px;flex-wrap:wrap} .nn-ds-swatch{display:flex;flex-direction:column;align-items:center;gap:6px} .nn-ds-color{width:56px;height:56px;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,0.08)} .nn-ds-hex{font-size:11px;font-weight:600;color:#374151;font-family:monospace} .nn-ds-cname{font-size:10px;color:#9CA3AF} .nn-ds-typo{display:flex;flex-direction:column;gap:8px} .nn-ds-font{display:flex;align-items:baseline;gap:12px} .nn-ds-font-sample{color:#1A1A1A} .nn-ds-font-meta{font-size:11px;color:#9CA3AF} .nn-ds-btns{display:flex;gap:10px;flex-wrap:wrap} .nn-ds-btn{display:inline-block;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:default;transition:opacity .2s} .nn-ds-btn:hover{opacity:0.85} .nn-ds-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px} .nn-ds-space{background:#F3F4F6;border-radius:6px;text-align:center;padding:8px 4px;font-size:10px;color:#6B7280} .nn-ds-space span{display:block;font-weight:700;color:#374151;font-size:12px} @media(max-width:640px){.nn-ds-colors{gap:8px}.nn-ds-color{width:44px;height:44px}.nn-ds-grid{grid-template-columns:repeat(2,1fr)}} </style> <div class="nn-ds"> <p class="nn-ds-title">Design System — Nom Nom</p> <p class="nn-ds-sub">Visuelle Grundlagen und Komponentenbibliothek</p> <div class="nn-ds-section"> <p class="nn-ds-label">Farbpalette</p> <div class="nn-ds-colors"><div class="nn-ds-swatch"><div class="nn-ds-color" style="background:#FF6B35"></div><span class="nn-ds-hex">#FF6B35</span><span class="nn-ds-cname">Primary Orange</span></div> <div class="nn-ds-swatch"><div class="nn-ds-color" style="background:#004E89"></div><span class="nn-ds-hex">#004E89</span><span class="nn-ds-cname">Deep Blue</span></div> <div class="nn-ds-swatch"><div class="nn-ds-color" style="background:#F7C948"></div><span class="nn-ds-hex">#F7C948</span><span class="nn-ds-cname">Warm Yellow</span></div> <div class="nn-ds-swatch"><div class="nn-ds-color" style="background:#2EC4B6"></div><span class="nn-ds-hex">#2EC4B6</span><span class="nn-ds-cname">Teal</span></div> <div class="nn-ds-swatch"><div class="nn-ds-color" style="background:#1D1D1D"></div><span class="nn-ds-hex">#1D1D1D</span><span class="nn-ds-cname">Text</span></div> <div class="nn-ds-swatch"><div class="nn-ds-color" style="background:#FFF8F0"></div><span class="nn-ds-hex">#FFF8F0</span><span class="nn-ds-cname">Background</span></div> </div> </div> <div class="nn-ds-section"> <p class="nn-ds-label">Typografie</p> <div class="nn-ds-typo"> <div class="nn-ds-font"><span class="nn-ds-font-sample" style="font-family:Nunito;font-size:24px;font-weight:700">Zusammen kochen!</span><span class="nn-ds-font-meta">Nunito · Heading · 700</span></div> <div class="nn-ds-font"><span class="nn-ds-font-sample" style="font-family:Inter;font-size:15px">Verabrede dich mit Freunden zum gemeinsamen Kochen — egal wo ihr seid.</span><span class="nn-ds-font-meta">Inter · Body · 400</span></div> </div> </div> <div class="nn-ds-section"> <p class="nn-ds-label">Buttons</p> <div class="nn-ds-btns"><span class="nn-ds-btn" style="background:#FF6B35;color:#FFF;border-radius:20px">Event starten</span> <span class="nn-ds-btn" style="background:#FFF8F0;color:#FF6B35;border-radius:20px">Rezepte</span> <span class="nn-ds-btn" style="background:transparent;color:#FF6B35;border:1.5px solid #FF6B35;border-radius:20px">Freunde einladen</span> </div> </div> <div class="nn-ds-section"> <p class="nn-ds-label">Spacing Scale</p> <div class="nn-ds-grid"> <div class="nn-ds-space"><span>4px</span>xs</div> <div class="nn-ds-space"><span>8px</span>sm</div> <div class="nn-ds-space"><span>16px</span>md</div> <div class="nn-ds-space"><span>24px</span>lg</div> <div class="nn-ds-space"><span>32px</span>xl</div> <div class="nn-ds-space"><span>48px</span>2xl</div> <div class="nn-ds-space"><span>64px</span>3xl</div> <div class="nn-ds-space"><span>96px</span>4xl</div> </div> </div> </div>

Web & Development

Ergebnis & Wirkung

Das Ergebnis ist ein vollständig durchgestalteter Klickprototyp in Adobe XD, der alle Kernfunktionen der Nom Nom App abbildet — vom Onboarding über die Event-Planung bis zur Live-Koch-Session per Video.

Die User Research bestätigte einen klaren Bedarf: Über 60 % der Befragten kochen regelmäßig mit Freunden, und 41,7 % würden einen lokalen Kochbox-Abholservice sofort nutzen. Diese quantitativen Erkenntnisse flossen direkt in die Feature-Priorisierung und die Gestaltung der User Flows ein.

Das Projekt zeigt einen vollständigen UX-Prozess — von der Problemdefinition über quantitative Research, Informationsarchitektur und Wireframing bis zum finalen UI Design mit einem eigenständigen visuellen System inklusive Avatar-Konzept. Die enge Zusammenarbeit im Zweier-Team über sechs Monate demonstriert zudem die Fähigkeit, in iterativen Designprozessen kollaborativ zu arbeiten und Entscheidungen datenbasiert zu treffen.

<style>.nn-gal{columns:2;column-gap:16px;width:100%;background:#FFFFFF;padding:0}.nn-gal img{display:block;width:100%;height:auto;border-radius:32px;margin-bottom:16px;break-inside:avoid;transition:transform .3s ease,box-shadow .3s ease}.nn-gal img:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,0.10)}@media(max-width:640px){.nn-gal{columns:1;column-gap:0}}</style><div class="nn-gal"><img src="https://cdn.prod.website-files.com/6966dc4be26071b86c361cfd/69c9a598a907fb8d4307c773_anneke-marjolijn-title.png" alt="Nom Nom Title Screen" loading="lazy"><img src="https://cdn.prod.website-files.com/6966dc4be26071b86c361cfd/69c9a59871095163cfdec844_anneke-marjolijn-nomnom5.png" alt="Nom Nom Screen 5" loading="lazy"><img src="https://cdn.prod.website-files.com/6966dc4be26071b86c361cfd/69c9a598e248c08b9b9b30f1_anneke-marjolijn-nomnom4.png" alt="Nom Nom Screen 4" loading="lazy"><img src="https://cdn.prod.website-files.com/6966dc4be26071b86c361cfd/69c9a598de4f6f0ef5c59d78_anneke-marjolijn-nomnom3.png" alt="Nom Nom Screen 3" loading="lazy"><img src="https://cdn.prod.website-files.com/6966dc4be26071b86c361cfd/69c9a5975e817c6eeba9a4ac_anneke-marjolijn-omnom6.png" alt="Nom Nom Avatare" loading="lazy"></div>

Fazit

weitere Projekte

A curated collection of my most impactful projects, showcasing my approach, creativity, and the results delivered for clients.