← Back to work
Kaira app: a conversational meal log and the resulting insight card with calories, macros, and a meal score, around the Kaira hexagon mark

Turning food logging from a chore into a habit

Good logging feels like talking, not filling. So I stopped designing a form.

Sole product designer, GoodFlip. A metabolic health platform helping thousands of people manage chronic conditions.

Let's start with some context

GoodFlip: a metabolic health platform of programs, devices, diagnostics and coaching

What is GoodFlip

GoodFlip is a metabolic health platform that helps people manage conditions like obesity, fatty liver and PCOS through lifestyle change, with personalised coaching, doctor led programs, advanced diagnostics, smart devices and natural supplements. Almost all of it depends on one thing people rarely track well: what they eat.

The two GoodFlip user types: someone in a doctor led program, and someone on their own health journey

Who we build for

People managing chronic conditions. They come in through a doctor led program and have a coach. They logged, mostly because someone asked them to.

Fitness enthusiasts and people on their own health journey. No coach, no diagnosis, no one asking. Mostly, they did not log at all.

Highlights of the project

~9 in 10
log with Kaira on their own, with no coach or diet plan behind them
Backend export, roughly 900 Kaira users, Jan to Jun 2026
1 in 4
came back to log on 5 or more separate days, unprompted
Same export. Directional, not a standard retention metric
92.5%
positive feedback on Kaira's responses
172 of 186 rated responses

My role in the project

I was the sole designer on Kaira, from research to launch and beyond. I defined the design metrics and owned Kaira's CSAT and DSAT scores, ran the research, designed the conversation logic and the design system Kaira is built on, and after launch audited 4,000 conversations to decide what to fix next. That audit became the roadmap I took to product and marketing, including a change to the app's information architecture.

Let's log a meal on GoodFlip

You just had a dosa with a cup of sambhar. Was it actually good for you? Log it and find out.

Speak, type or snap. Kaira fills in what it can, shows you what it assumed, and logs the meal when you confirm.


What the app offered before

Before Kaira, logging a meal meant searching for each item, selecting it, setting a portion, and repeating that for every dish in every meal. Logging a single item took 5 taps across NN screens.

Old flow
Search Select Portion Confirm Repeat per item
5 taps
Kaira
Speak Confirm
2 taps
The step count, old flow against Kaira, drawn to scale.
The previous food logging flow: the health tracker home, the diet tab with a day's meal slots, the food search screen, and the manual macro entry form
The previous food logging flow: home, the diet tab, searching for an item, and setting the portion and macros by hand.

The old flow asked the user for everything. That is the assumption the rest of this project takes apart.

The problem statement

Nutrition is one of the biggest levers on metabolism, and unlike steps or sleep, no device can track it for you. Someone has to log it. At GoodFlip we saw that people did, but almost only when a coach asked. Left alone, the effort was not worth it.

So the challenge was twofold: make logging cost so little that people would do it on their own, and give them something back that made it worth doing.

Why this problem mattered

Looking at it from the user's side

Today someone making lifestyle changes has to lean on a coach, use a separate app, or wing it.

  1. I do everything for my lifestyle change in one place instead of stitching apps together.
  2. My coach and doctor see what I actually eat, so my plan fits my real life instead of a guess.
  3. GoodFlip is clinically led, so what it tells me about my meals carries more weight than a generic calorie app.

The business case

  1. A reason to open the app today. Supplements, programs, devices and diagnostics are all periodic. Food is daily. Without logging there was very little a user could do on any given day.
  2. A wider top of funnel. Tracking meals is commonly the first thing people try when they start a health journey, and every competitor already offered it.

Breaking down the problem

Building a food logging habit is too big to solve in one release. A single all in one solution would take months before anyone benefited. So I broke the problem into stages, each of which could ship and improve logging on its own.

Deferred

Nothing tells people to log. It reads as a collection of services, not a daily habit.

Deferred

Understanding what someone's working towards, and showing progress against it.

Awareness
Action
Retention
Phase one

The steps a person takes to log a meal, and what each step costs them. The one stage that improved the product on its own.

Each stage could ship on its own. I started with the one that improved the product without waiting for the others.

StageWhat it meansStatus
Awareness The app does not tell anyone to log. It reads as a collection of services, not a daily habit. This is an IA and narrative problem. Deferred
Action The steps a person takes to log a meal, and what each of those steps costs them. Phase one
Retention Understanding what the user is actually working towards and showing progress against it. Logging alone cannot carry this. Deferred

I started with Action, because it was the only stage that improved the product on its own. Awareness and Retention come back at the end of this story.

Impact
Action Clean up the form Awareness Retention
Low Effort High
Impact versus effort for the paths I could take. Not an Eisenhower matrix. That is urgent versus important.

The fork

With Action scoped, there were two ways forward:

Method 1 Clean up the existing flow Method 2 Enable new ways of logging through AI AI-led path
Two ways forward, and the one I chose.

I chose the AI-led path, and kept manual logging as the fallback.

  1. A cleaner form still asks for everything.

    AI could infer most of what a log needs and ask only for what it could not assume.

  2. People log differently.

    Some want to type, some to speak, some to snap a photo. AI could meet each of them.

  3. Users already expected it.

    Competitors had AI logging, so it matched what people were used to instead of teaching them something new.

  4. Richer data for better insights.

    Natural logs told us more about each person, which fed back into more personal guidance.

What shape that AI should take was still an open question. The research answered it.

The process

Understanding the landscape

GoodFlip was not the first app to offer snap, voice and text logging. People arrive already carrying habits from other apps, so I started by mapping what they were used to. Three things I tracked across every competitor:

What the app asks you to do the moment you open it

How long it takes to log one meal

What you get back once the meal is logged

Competitive teardown comparing how logging opens, how long it takes, and what each app gives back
I map what already exists and where it falls short, so I design against the real gap rather than a blank page.

Optional: IMG-04: competitor logging time comparison, if the numbers from the landscape study are on hand. This connects directly to the effort spine.

Understanding the people

Field notes

I did not want logging to feel like an extra task. So before designing anything, I ran a short study.

8 people In the office Different ages and backgrounds
The aim

To see how people naturally talk about what they eat, and where that natural speech falls short of what a log actually needs.

Free, open prompt

"Describe everything you ate and did yesterday."

People narrated naturally. 12 to 58 seconds.

Nudged, guided prompt

"What did you have for dinner yesterday, and how much?"

People answered faster and more precisely. 10 to 20 seconds.

I also asked each person four things, listed plainly:

  • Would you log after each meal, or at the end of the day?
  • What is a reasonable amount of time to spend logging a meal?
  • Why would you log at all?
  • How likely are you to log everything, including the meals you are not proud of?

What I found, as three short findings:

  1. 1

    Free speech is rich but data poor.

    People narrated their whole day, including things a food log does not need, and left out the things it does: quantity, portion and timing.

  2. 2

    A nudge recovers the structure, but too many nudges kill it.

    One specific question made people faster and more precise. A form's worth of questions would not have.

  3. 3

    People log at the end of the day, not meal by meal.

    This became a hypothesis that shaped the whole conversation design, and the March data later confirmed it.

Eight people in an office is a small sample and not our exact audience. It was enough to form a hypothesis, not to prove one.

Free speech
12s 58s
Nudged
10s 20s
natural but data poor precise but rigid if you ask too much
Time to describe yesterday's meals, free speech against a single nudge. Same people, same task, two prompts.

Mapping how people feel when they log

People arrive at the food log from different places and in very different states. Someone who just saw a glucose spike is curious. Someone on day forty of a program is bored. Someone who broke their streak feels guilty. So I mapped the emotional path rather than only the functional one, following the CGM triggered route into logging: curious when the reading appears, motivated, then bored once it turns routine, anxious at a bad number, guilty after a missed day.

Emotional journey map: stages, user thoughts, emotions, and app touchpoints across the CGM-triggered path into logging
The emotional journey I mapped for the CGM triggered path into logging. This told me the flow had to meet people where they were, not just capture their data.

Deciding on a chat experience

The study and the landscape together made one thing clear: we needed snap, voice and text. This would also be the first major AI feature GoodFlip put in front of the public. That could go two ways.

  1. Build three separate experiences: one for voice, one for text, one for the camera
  2. Build one AI surface that all three live inside

I chose the second.

  1. One thing to learn, not three.

    People log from several places in the app. A single conversation meant every entry point behaved the same way.

  2. It had somewhere to go.

    We were already planning insights on CGM readings, body composition and more. A single AI surface meant that work compounded instead of ending at food.

  3. A bet on curiosity.

    I assumed people would want more than a calorie count once they had somewhere to ask. A unified experience made that cheap to find out.

That third reason was a bet. Section 13 is where the data tells me whether it paid off.

Infer, don't interrogate

The research said a nudge recovers what free speech leaves out. The obvious fix is to ask more questions. That is also the fastest way to make someone quit.

So I built the opposite. Let people speak however they naturally do, then infer the missing structure instead of demanding it. I went through every field a log needs and split it in two: what Kaira must ask, and what she can safely assume. For everything assumable I wrote the fallback behind it.

Must ask

  • Meal type

Can assume

  • Quantity and portion
  • Time of day
  • Ingredients for common dishes
  • Likely repeat meals
Coach plan User history Population defaults Reason from scratch

Kaira works down this chain for every field it does not ask about, and always shows what it assumed.

There was exactly one field I refused to let it assume: meal type. Because people log at the end of the day, "poha and chai" could be breakfast or an evening snack, and getting that wrong quietly poisons the data. So Kaira always asks that one thing and assumes the rest. That single no is the design.

Kaira parses what you typed, then splits depending on whether you logged one meal or several. Both paths end the same way.

If it's a single meal

All present Missing time / quantity Single meal detected All info present? Food, time, quantity Confirms the meal Asks: "Want to add anything else?" Asks for the missing info If the answer is vague, explains why and asks again, gently, until it's clear Confirms the full log "Got everything I need"

If it's multiple meals

Complete Missing time / quantity No gap Large gap found Multiple meals detected For each meal: is info complete? Nothing to ask Moves on Asks for the missing info Per meal. If vague, explains why and asks again until it's filled in Once all filled: any large gaps? For example, 8am to 8pm Continues Did you have anything in between? Prompts for the gap, and asks for that meal too Confirms the full log "Got everything I need"
Either way
Shows a 2 to 3 line summary, plus a card per meal
Asks: "Want to log anything else?"
Yes — back to the opening prompt No — ends the conversation
The logic I handed to engineering: speak freely, infer what can be inferred, ask gently for what cannot, and never dead end on a vague answer. The system is allowed to guess. It is never allowed to hide that it guessed.

I also designed a flow for logging several meals at once, for the person who dumps their whole day in one go. It was cut for dev effort before launch. Remember this one, because the data brings it back later.

Offering something back

Nir Eyal's Hooked model describes a habit as a loop: a trigger, an action, a reward and an investment. Three of those we could build. A nudge is a trigger. Everything above made the action cheaper. A growing health record is the investment. The hard one is the reward, because it has to arrive instantly and it has to be worth the log.

Macros and goal progress are easy to show and easy to ignore. I wanted people to understand what a meal had actually done to them, so I wrote the response logic myself: a summary of the meal, the macro read, the likely sugar spike, and a single Meal Score that answered the only question anyone really asks, which is whether that was a good idea.

The response blueprint: calories, macros, spike risk and a metabolic verdict, always ending on the likely sugar spike.
Shelved: the Meal Score

What we shipped instead

The richer the insight, the longer the model takes to answer. A person holding their phone after a meal will not wait. So the card based breakdown and the Meal Score were set aside and we shipped clean text and tables instead, which also saved real development effort. Shipping something people could use beat polishing something they could not.

Trigger

A nudge

Action

Speaking a meal

Variable reward

The instant read

Investment

A growing health record

The same loop that shapes the CGM case study, mapped onto Kaira.

Giving Kaira an identity

A chatbot needs a name and a face. I worked with marketing to define what Kaira should be: knowledgeable but never clinical, clearly a part of GoodFlip but distinct enough that people know when they are talking to AI. The name came out of that: Kaira, Knowledgeable AI for Remission and Awareness.

  1. What AI looks like today

    Jakob's law cuts both ways. I looked at how AI presents itself across products and found simple shapes with gradients. People already know what AI looks like, so the mark had to be recognisable before it was clever.

    Competitive analysis grid of AI product logos
  2. Rooted in the science

    I wanted the mark to say something about metabolism. Thyroxine, the hormone at the centre of metabolic processes, is built from hexagonal rings. That was the simple shape I was looking for.

    Thyroxine molecule structure showing its hexagonal rings
  3. Colour from our own system

    Kaira had to feel native, not bolted on, so the gradients came from GoodFlip's existing peacock inspired theme.

    Kaira gradient swatches from the design system
  4. A pattern with the same DNA

    I extended the same hexagonal geometry into patterns, callouts and cards in the design system, so every Kaira surface carries one idea.

    Kaira pattern built from repeating hexagonal molecule motifs
  5. The result

    One clean, scientific, recognisable mark that belongs to GoodFlip and still stands apart inside it.

    The final Kaira identity: the thyroxine-inspired hexagon icon, UI containers, animated patterns, and gradient buttons

Other directions I explored

Grid of alternate Kaira hexagon logo explorations that were considered

Ship it, then let the data prove me wrong

Learnings

Six weeks after launch I audited 4,000 conversations across 168 users, and read them against what I had assumed while designing.

Sources: MoEngage events, full conversation logs, and AI driven feedback calls so I could hear people in their own words. March 11 to 31, 2026.

The bet on curiosity paid off.

I had designed Kaira as a surface, not a feature, on the assumption that people would want more from her than a calorie count. They did.

28%
of conversations went beyond logging, with people asking about their meals, their spikes and what to do next. base to confirm: conversations, users, or messages, and the date range

The data corrected me.

I built for voice. People reached for text first and the camera second, with voice the smallest of the three. The input I centred the design on was the one people wanted least.

Text
Camera
Voice

the input I designed for

Waiting is the new friction.

Kaira still takes too long to answer. Speed is part of the fix, but the better answer is to remove the wait rather than shorten it, because a person holding their phone after a meal has no reason to wait for anything.

The habit is real, but small.

Of everyone on GoodFlip, fewer than 10% log their food, up from under 2% before Kaira (to reconcile against the 3.7%, 256 of 6,866 over 60 days, figure if it is the same measure). Of the people who do log, about 9 in 10 now do it on their own. The behaviour changed. The reach has not caught up yet.

That last number is the one I would lead with in a review. We proved people will log without being pushed. We have not yet given most of them a reason to start.

Where this goes next

Phase one was Action: making a single log cost as little as possible. That worked. The two stages I set aside at the start, Awareness and Retention, are now the constraint.

  1. Awareness

    1. The app has to tell a story, not list features.

    GoodFlip today is a collection of services a person visits occasionally. Nothing tells them what to do today. The IA needs to carry one narrative: log what you eat, see what it does to you, act on it. Food logging is the first step in that story, so it has to sit where the story starts.

    Home
    Programmes Track
    Progress
    Flip Feed
    Records More
    Track

    Where the user tracks their meals and other activities.

    More

    Where the user sees every other option: face scan, their records, and so on.

  2. Second front door

    2. Manual logging has to be as good as the AI.

    AI logging is ahead of our competitors. Manual logging is behind them, and it is what people fall back on when they know exactly what they ate, when Kaira is slow, or when they simply prefer tapping. A fallback people use daily is not a fallback, it is a second front door. I have wireframes for this that I am currently pitching to the team.

    The wireframe I am pitching: search, adjust the portion, log the meal.

  3. Retention

    3. Metabolism needs to be legible.

    Nutrition, movement, sleep and mental health are the pillars GoodFlip is built on, but a person never sees them as a whole. Shown as four modules someone can work on and make visible progress against, logging stops being data entry and becomes progress towards something they chose.

    Pitched, not built
    Nutrition
    Movement
    Sleep
    Mental health

GoodFlip is a complicated platform, with doctors, devices, diagnostics and supplements behind it. None of that complexity is the user's problem to carry. My job is to absorb it and hand them one clear next step.

Future of Kaira

Kaira started as a way to log food. She is becoming the way people ask GoodFlip anything about their body.

The work in flight gives her more places to speak from, with insights on CGM readings, body composition and the rest, and makes those conversations two way, so a person can ask why instead of only reading what. Beyond that I have pitched a live Kaira that reads a meal through the camera in real time, and capture through wearables like smart glasses, so logging eventually stops being a task a person performs at all.

The direction is consistent: every version of Kaira should ask the user for less than the last one.

My north star

I want food logging on GoodFlip to be the easiest honest record of what a person eats, anywhere. Easy enough that someone with no coach and no diagnosis keeps doing it, and honest enough that a doctor can build a plan on it.

If that holds, GoodFlip stops being an app people force themselves to open and becomes the place their health actually lives, with clinical depth behind it that no general wellness app can match.

We are not there yet. But the path from one logged dosa to a plan built on real data is the shortest one in metabolic health, and I would like GoodFlip to own it.

The CGM has its own story Read the CGM case study