NutriCopilot — Case Study

NutriCopilot: A Nutrition Coach That Talks Like I Do

Rough-language calorie tracking, built for the way I actually eat and talk.

RoleSolo Designer & Builder

Timeline10 days

StackNext.js, Vercel, WHOOP API

Problem Statement

I don't track calories precisely, but I still want a ballpark. Talking to ChatGPT made it hard to visualize where I stood, so I was constantly re-asking the same question in different words.

What I Did

Designed and built a web app that takes rough, spoken-language food logs, estimates macros conservatively, and answers "does this fit?" directly.

NutriCopilot Log screen showing daily macro bars and an Ask screen showing whether Buldak plus 2 eggs fits the day's plan.

Fig: Log screen with today's macros, and the Ask screen answering "does this fit?"

01Problem

Same Question, Every Day

A week of chat logs made the pattern obvious.

I don't track calories all that accurately, but I still want a rough sense of where I stand. Talking to ChatGPT about it made things hard to visualize — every answer was a wall of text I'd have to re-read against whatever I'd already eaten.

After about a week, the pattern was obvious. I kept asking some version of the same three questions: Can I eat this? Can I eat that? Does this fit my calorie and protein range for today? So I built an app around answering exactly that.

Three ChatGPT conversations showing rough, spoken-language food logs like 'Diet food is my only enemy, for eg today I had 1 avocado, 1 cup rice...' being turned into calorie estimates.

Fig: ChatGPT — logging meals in rough language and asking it to estimate the day

Three ChatGPT threads estimating full days of eating from rough descriptions, ending in totals and protein counts.

Fig: ChatGPT — the back-and-forth estimation NutriCopilot was built to replace

02Solution

Speak Like You Eat

Rough language in, conservative macro estimates out.

NutriCopilot takes food logs the way I'd actually say them out loud — "2 gobi paratha, 1 toast w peanut butter" — and conservatively calculates calories and macros instead of assuming best-case portions.

The core feature is the Ask tab: instead of me doing the math on whether a dish fits my remaining plan, I ask directly — "Can I have Buldak with 2 eggs?" — and it calculates whether it fits, what it costs against today's targets, and what to swap if it doesn't.

iPhone screen showing a question asked to NutriCopilot: How much calories is 1 buldak with 2 eggs, with a breakdown of totals and macros.

Fig: Asking NutriCopilot directly instead of doing the math myself

Meals tab showing saved go-to meals like Protein shake, Morning cold coffee, and Morning hot coffee, each loggable in one tap.

Fig: Saved go-to meals for faster logging on repeat days

03WHOOP Integration

Intentional, Not Static

Recovery and strain change what "hitting your macros" should mean that day.

A flat calorie and protein target ignores that some days ask more of your body than others. I hooked up my WHOOP so NutriCopilot can factor in recovery, strain, and sleep when it suggests what to aim for — low recovery and high strain push it to recommend a more protein-forward day, for example.

It turns the app from a passive log into something that nudges intent: not just "here's what you ate," but "here's what today's body probably needs."

Log screen showing a protein-forward meal suggestion based on 59% recovery, 6.8 strain, and 7.5h sleep from WHOOP. Ask screen breaking down how a meal adds calories against a WHOOP-adjusted target, with recovery and strain context.

Fig: WHOOP recovery and strain shaping daily targets, log and ask screens

Fig: Asking the Ask tab whether a meal fits, WHOOP recovery context included

Fig: The end-to-end logging and asking experience

04What's Next

Just for Me, for Now

A personal tool first — the rest is optional.

The whole thing — from Figma to a working app on Vercel with WHOOP synced in — took about 10 days. It solved the actual problem: I stopped re-asking ChatGPT the same three questions every day.

Next up if I keep going: smarter defaults for recurring meals so logging gets even faster, and tightening the conservative-estimate logic against a few weeks of real data instead of my gut sense of portion sizes.