Testing NotebookLM from Google AI

I initiated a new project called MyFoodAnalysis with an intern in ObjectGraph and created a plan for him. The project’s goal is to create a nutrition analysis program where you could track your food intake and see nutrition values. Also use AI to classify the foods based on NOVA classification.

I wrote the plan which you can read it here

My Food Analysis Internship Plan

I simply uploaded this document to NotebookLM and asked it to generate a podcast and it was pretty decent. You can listen to it here.

Here is the interface where you create a notebook and upload sources.

Notebook LM Screenshot

I converted back the audio back to text using whisper.cpp

If you want to do this yourself, first you will need to convert your audio to 16khz and then pass it to whisper.cpp

brew install whisper-cpp

Download a model from here

https://huggingface.co/ggerganov/whisper.cpp/tree/main

I downloaded the V2 large

Convert the file to 16khz

ffmpeg -i ~/Downloads/My\ Food\ Analysis.wav -ar 16000 ~/Downloads/My\ Food\ Analysis16.wav

Then get the trascript

whisper-cpp --model ggml-large-v2.bin -f My\ Food\ Analysis16.wav

Here is the output

[00:00:00.000 --> 00:00:02.800]   All right, everyone, let's talk food apps.
[00:00:02.800 --> 00:00:04.680]   You know, those ones we pull out in the grocery store
[00:00:04.680 --> 00:00:06.920]   trying to decide between quinoa and couscous.
[00:00:06.920 --> 00:00:09.440]   Like, is this actually healthy?
[00:00:09.440 --> 00:00:10.680]   Oh, yeah. We've all been there.
[00:00:10.680 --> 00:00:12.640]   Today, we are doing a deep dive
[00:00:12.640 --> 00:00:15.520]   into what goes into making these apps.
[00:00:15.520 --> 00:00:18.560]   We're going to be looking at an internship plan
[00:00:18.560 --> 00:00:21.960]   for an app called, get this, My Food Analysis.
[00:00:21.960 --> 00:00:23.080]   Kitchy. Right.
[00:00:23.080 --> 00:00:25.560]   It's like a blueprint for building the app from scratch.
[00:00:25.560 --> 00:00:26.800]   And it is fascinating stuff.
[00:00:26.800 --> 00:00:28.760]   You wouldn't believe what goes into it.
[00:00:28.760 --> 00:00:31.160]   This plan we're looking at, it really lays it all out.
[00:00:31.160 --> 00:00:33.360]   The nutrition science, the data side of things,
[00:00:33.360 --> 00:00:35.280]   and then, of course, how to make it all user-friendly.
[00:00:35.280 --> 00:00:37.520]   And one thing that is clear from the get-go
[00:00:37.520 --> 00:00:39.800]   is that data is key.
[00:00:39.800 --> 00:00:43.440]   This plan dives deep into nutrition databases,
[00:00:43.440 --> 00:00:45.360]   especially the one from the USDA.
[00:00:45.360 --> 00:00:47.200]   The USDA database, yeah.
[00:00:47.200 --> 00:00:48.760]   It's incredibly comprehensive,
[00:00:48.760 --> 00:00:50.760]   like the ultimate food encyclopedia.
[00:00:50.760 --> 00:00:53.320]   But it's a beast to wrangle.
[00:00:53.320 --> 00:00:55.160]   Raw data isn't exactly something
[00:00:55.160 --> 00:00:57.920]   you can just glance at and understand, you know?
[00:00:57.920 --> 00:00:59.400]   That's where programming comes in.
[00:00:59.400 --> 00:01:01.480]   And this plan focuses a lot on Python.
[00:01:01.480 --> 00:01:03.560]   I was going to say, got to make sense of it all somehow.
[00:01:03.560 --> 00:01:05.160]   Exactly. Think of it like this.
[00:01:05.160 --> 00:01:07.400]   Say you want to bake a cake, right?
[00:01:07.400 --> 00:01:09.280]   But instead of neatly measured ingredients,
[00:01:09.280 --> 00:01:11.840]   someone just dumps a mountain of flour,
[00:01:11.840 --> 00:01:13.280]   sugar, and eggs on your counter.
[00:01:13.280 --> 00:01:14.480]   Chaos.
[00:01:14.480 --> 00:01:16.440]   Total chaos. Python is like having the recipes,
[00:01:16.440 --> 00:01:18.160]   the measuring cups, all the tools
[00:01:18.160 --> 00:01:20.720]   to actually transform those ingredients
[00:01:20.720 --> 00:01:22.240]   into something delicious.
[00:01:22.240 --> 00:01:25.120]   So Python's like the language we need to speak
[00:01:25.120 --> 00:01:27.920]   to understand this nutrition data stuff.
[00:01:27.920 --> 00:01:29.080]   Yeah. Okay, that makes more sense.
[00:01:29.080 --> 00:01:30.680]   But now we've got all this data,
[00:01:30.680 --> 00:01:32.880]   and we can understand it thanks to Python.
[00:01:32.880 --> 00:01:34.320]   What's next? We need to put it somewhere, right?
[00:01:34.320 --> 00:01:35.560]   Yeah. Exactly.
[00:01:35.560 --> 00:01:37.480]   Like, you wouldn't just leave those baking ingredients
[00:01:37.480 --> 00:01:38.600]   scattered all over, right?
[00:01:38.600 --> 00:01:41.800]   You'd put them in jars, containers, organize your pantry.
[00:01:41.800 --> 00:01:43.440]   That is where databases come in.
[00:01:43.440 --> 00:01:46.640]   This plan specifically talks about SQL databases.
[00:01:46.640 --> 00:01:48.440]   SQLite, to be precise.
[00:01:48.440 --> 00:01:51.360]   The pantry of the app. I like it.
[00:01:51.360 --> 00:01:53.320]   That's a great way to put it. And SQL.
[00:01:53.320 --> 00:01:55.160]   That's the language that lets the app
[00:01:55.160 --> 00:01:59.160]   find the right ingredient in the pantry at the right time.
[00:01:59.160 --> 00:02:01.200]   Okay, we've got our ingredients organized,
[00:02:01.200 --> 00:02:03.240]   but we still need someone to take our order,
[00:02:03.240 --> 00:02:05.200]   bake that cake, and make it look pretty.
[00:02:05.200 --> 00:02:06.440]   Now you're getting it.
[00:02:06.440 --> 00:02:09.080]   That is where things like Flask come in.
[00:02:09.080 --> 00:02:10.240]   Flask hit me with it.
[00:02:10.240 --> 00:02:12.440]   Flask is like that amazing barista
[00:02:12.440 --> 00:02:14.440]   who knows the menu inside and out.
[00:02:14.440 --> 00:02:17.640]   They take your order, know exactly which ingredients to use,
[00:02:17.640 --> 00:02:20.840]   and present it to you in a way that is just chef's kiss.
[00:02:20.840 --> 00:02:21.680]   I am getting hungry.
[00:02:21.680 --> 00:02:24.560]   So to be clear, Flask is the bridge
[00:02:24.560 --> 00:02:26.760]   between all that complex data stuff
[00:02:26.760 --> 00:02:28.560]   and what we actually see on the screen.
[00:02:28.560 --> 00:02:29.480]   Precisely.
[00:02:29.480 --> 00:02:31.400]   You know, I have to say, I always thought building an app
[00:02:31.400 --> 00:02:34.480]   was all about the design, the flashy stuff.
[00:02:34.480 --> 00:02:36.000]   But this is really interesting
[00:02:36.000 --> 00:02:38.080]   to see what goes on behind the curtain.
[00:02:38.080 --> 00:02:41.560]   It's amazing how much data and backend work
[00:02:41.560 --> 00:02:42.760]   goes into an app like this.
[00:02:42.760 --> 00:02:45.120]   It really is. And it gets even more interesting.
[00:02:45.120 --> 00:02:47.720]   So we've talked about the data, organizing it all,
[00:02:47.720 --> 00:02:50.400]   but what about how it actually looks to the user?
[00:02:50.400 --> 00:02:52.200]   Yeah, because who wants to use an app
[00:02:52.200 --> 00:02:54.840]   that looks like it's straight out of the Stone Age, right?
[00:02:54.840 --> 00:02:57.160]   It's got to be sleek, user-friendly.
[00:02:57.160 --> 00:02:59.640]   I want to enjoy checking this nutrition info,
[00:02:59.640 --> 00:03:01.440]   not feel like I am doing homework.
[00:03:01.440 --> 00:03:02.280]   Right.
[00:03:02.280 --> 00:03:04.760]   And that is where front-end development comes.
[00:03:04.760 --> 00:03:08.040]   And this plan talks a lot about frameworks like React.
[00:03:08.040 --> 00:03:10.680]   Imagine React as the interior designer of the app.
[00:03:10.680 --> 00:03:13.440]   We've got all the amazing ingredients and functionality,
[00:03:13.440 --> 00:03:16.320]   and React makes it all look amazing.
[00:03:16.320 --> 00:03:18.440]   Okay, so we went from a mountain of ingredients
[00:03:18.440 --> 00:03:21.320]   to a well-stocked pantry to, what are we at now?
[00:03:21.320 --> 00:03:22.360]   A five-star restaurant.
[00:03:22.360 --> 00:03:24.440]   Exactly. But you know what really takes this app
[00:03:24.440 --> 00:03:26.600]   to the next level? It's not just a recipe organizer.
[00:03:26.600 --> 00:03:28.920]   This is, like, next-level stuff.
[00:03:28.920 --> 00:03:30.400]   Right. It is the AI
[00:03:30.400 --> 00:03:31.760]   they've worked into this thing.
[00:03:31.760 --> 00:03:33.200]   Okay, now you're talking.
[00:03:33.200 --> 00:03:35.240]   I am always up for a little AI magic.
[00:03:35.240 --> 00:03:38.280]   Specifically, they are using LLMs.
[00:03:38.280 --> 00:03:41.400]   And no, it's not some new ingredient in your protein bar.
[00:03:41.400 --> 00:03:43.360]   You're killing me. What is an LLM?
[00:03:43.360 --> 00:03:45.160]   LLM, Large Language Model.
[00:03:45.160 --> 00:03:46.920]   These AI systems are so smart,
[00:03:46.920 --> 00:03:49.720]   they can actually understand us, like process human language.
[00:03:49.720 --> 00:03:51.760]   Wait, it understands what we are saying.
[00:03:51.760 --> 00:03:52.880]   It's amazing, right.
[00:03:52.880 --> 00:03:55.880]   And the way they are using it in the MyFoodAnalysis app,
[00:03:55.880 --> 00:03:58.720]   they are using LLMs to categorize foods
[00:03:58.720 --> 00:04:01.680]   based on something called a NoVA classification system.
[00:04:01.680 --> 00:04:03.240]   Have you heard of this? NoVA?
[00:04:03.240 --> 00:04:04.120]   Yeah. It rings a bell.
[00:04:04.120 --> 00:04:05.240]   Refresh my memory.
[00:04:05.240 --> 00:04:07.520]   So it's basically a way to categorize foods
[00:04:07.520 --> 00:04:09.320]   by how processed they are.
[00:04:09.320 --> 00:04:11.920]   On one end, you have unprocessed foods,
[00:04:11.920 --> 00:04:14.200]   your fruits, your veggies, all natural stuff.
[00:04:14.200 --> 00:04:15.040]   Gotcha.
[00:04:15.040 --> 00:04:17.040]   Then you've got minimally processed stuff,
[00:04:17.040 --> 00:04:19.200]   your frozen peas, things like that.
[00:04:19.200 --> 00:04:21.560]   Then we step up to processed foods,
[00:04:21.560 --> 00:04:23.640]   breads, cheeses, that kind of thing.
[00:04:23.640 --> 00:04:24.800]   Okay, I see where this is going.
[00:04:24.800 --> 00:04:26.640]   And finally, the ultra-processed foods.
[00:04:26.640 --> 00:04:28.040]   That's where you get into the territory
[00:04:28.040 --> 00:04:30.120]   of added sugars, unhealthy fats,
[00:04:30.120 --> 00:04:32.280]   and those ingredients you can't even pronounce.
[00:04:32.280 --> 00:04:35.120]   Ah, that is where it all comes back to me.
[00:04:35.120 --> 00:04:38.880]   So this AI, it can look at a food, see the ingredients,
[00:04:38.880 --> 00:04:41.160]   and tell me this is how processed this thing is.
[00:04:41.160 --> 00:04:42.000]   Boom.
[00:04:42.000 --> 00:04:43.440]   It's like having a personal nutritionist
[00:04:43.440 --> 00:04:46.000]   examining everything you put in your virtual shopping cart.
[00:04:46.000 --> 00:04:47.840]   Okay, I'm impressed.
[00:04:47.840 --> 00:04:49.000]   But it can't end there.
[00:04:49.000 --> 00:04:50.080]   What else does it do?
[00:04:50.080 --> 00:04:52.040]   Oh, this is really just the beginning, believe me.
[00:04:52.040 --> 00:04:55.040]   We are talking meal planning, sharing features
[00:04:55.040 --> 00:04:57.920]   so you can get your family on board with healthy eating.
[00:04:57.920 --> 00:04:58.880]   It's all in here.
[00:04:58.880 --> 00:05:01.560]   Hold up, this app will make me a shopping list.
[00:05:01.560 --> 00:05:03.760]   Okay, now I am sold.
[00:05:03.760 --> 00:05:05.640]   But all this sounds great,
[00:05:05.640 --> 00:05:07.960]   but even if it can do all that,
[00:05:07.960 --> 00:05:11.480]   an app is only as good as how well it works.
[00:05:11.480 --> 00:05:12.520]   100%.
[00:05:12.520 --> 00:05:15.360]   And the great thing about this internship plan is
[00:05:15.360 --> 00:05:17.000]   these guys are thorough.
[00:05:17.000 --> 00:05:18.680]   They dedicate so much time
[00:05:18.680 --> 00:05:20.240]   to the testing and deployment phase.
[00:05:20.240 --> 00:05:21.720]   So no cutting corners.
[00:05:21.720 --> 00:05:23.160]   They're making sure it's rock solid.
[00:05:23.160 --> 00:05:24.120]   Imagine this.
[00:05:24.120 --> 00:05:25.680]   It's like buying a brand new car, right?
[00:05:25.680 --> 00:05:26.520]   You don't want it breaking down
[00:05:26.520 --> 00:05:27.560]   before you even leave the lot.
[00:05:27.560 --> 00:05:28.400]   Exactly.
[00:05:28.400 --> 00:05:29.440]   They want to put this thing through the ringer,
[00:05:29.440 --> 00:05:32.360]   make sure it's bug-free, runs smooth as butter,
[00:05:32.360 --> 00:05:34.800]   can handle tons of users all at once.
[00:05:34.800 --> 00:05:38.760]   So like an app bootcamp, but way less mud and yelling.
[00:05:38.760 --> 00:05:41.040]   Wow, I had no idea how much went into
[00:05:41.040 --> 00:05:42.360]   making an app like this.
[00:05:42.360 --> 00:05:44.360]   From the data to the design,
[00:05:44.360 --> 00:05:46.000]   to making sure it's actually gonna work
[00:05:46.000 --> 00:05:47.200]   for us regular folks.
[00:05:47.200 --> 00:05:49.200]   It really shows you the power of teamwork too.
[00:05:49.200 --> 00:05:51.760]   You've got developers, nutritionists, designers,
[00:05:51.760 --> 00:05:53.640]   all coming together to create something
[00:05:53.640 --> 00:05:54.920]   that can make a difference.
[00:05:54.920 --> 00:05:56.480]   And speaking of coming together,
[00:05:56.480 --> 00:05:59.480]   that brings us to the final step in this plan deployment.
[00:05:59.480 --> 00:06:01.680]   Deployment, getting this thing out there
[00:06:01.680 --> 00:06:03.040]   for everyone to use.
[00:06:03.040 --> 00:06:04.080]   And I have to ask,
[00:06:04.080 --> 00:06:06.840]   is it really as easy as just hitting the upload button?
[00:06:06.840 --> 00:06:07.960]   You wish.
[00:06:07.960 --> 00:06:10.280]   It's about getting the app on the Apple Store,
[00:06:10.280 --> 00:06:12.440]   Google Play, maybe even a web version.
[00:06:12.440 --> 00:06:15.440]   Making sure it looks good on every phone, tablet,
[00:06:15.440 --> 00:06:16.760]   even your grandma's computer.
[00:06:16.760 --> 00:06:18.240]   It's gotta work for everyone.
[00:06:18.240 --> 00:06:20.360]   So it's more than just making it available.
[00:06:20.360 --> 00:06:22.360]   It's about making it accessible.
[00:06:22.360 --> 00:06:24.840]   I have to say, this plan we've been looking at,
[00:06:24.840 --> 00:06:26.320]   it's seriously impressive.
[00:06:26.320 --> 00:06:27.960]   They've really thought of everything.
[00:06:27.960 --> 00:06:29.720]   Yeah, it shows how much goes into
[00:06:29.720 --> 00:06:30.920]   creating a really great app.
[00:06:30.920 --> 00:06:33.760]   And the cool thing is, this is just the start.
[00:06:33.760 --> 00:06:36.520]   Who knows what these apps will be able to do down the line.
[00:06:36.520 --> 00:06:38.160]   That's what I love about these deep dives.
[00:06:38.160 --> 00:06:40.400]   We start off looking at nutrition labels.
[00:06:40.400 --> 00:06:43.520]   And somehow we end up talking about the future of,
[00:06:43.520 --> 00:06:45.000]   well, food, really.
[00:06:45.000 --> 00:06:47.080]   It all starts with a simple internship plan.
[00:06:47.080 --> 00:06:47.920]   Right.
[00:06:47.920 --> 00:06:50.520]   It really makes you appreciate all the work and creativity
[00:06:50.520 --> 00:06:52.400]   behind the apps we use every day.
[00:06:52.400 --> 00:06:55.000]   Taking something as complex as food and nutrition
[00:06:55.000 --> 00:06:57.440]   and making it easy for anyone to understand.
[00:06:57.440 --> 00:07:00.680]   Okay, folks, that was a lot to digest, no pun intended.
[00:07:00.680 --> 00:07:03.360]   We've talked about the data, the technology, the design,
[00:07:03.360 --> 00:07:05.120]   all the things that come together to make an app
[00:07:05.120 --> 00:07:08.120]   that can actually help us make smarter food choices.
[00:07:08.120 --> 00:07:09.440]   And at the end of the day,
[00:07:09.440 --> 00:07:11.800]   knowledge is power, right?
[00:07:11.800 --> 00:07:13.600]   Especially when it comes to our health.
[00:07:13.600 --> 00:07:15.640]   So next time you're using your favorite food app,
[00:07:15.640 --> 00:07:17.720]   take a second to think about everything that went into it.
[00:07:17.720 --> 00:07:20.440]   You might just be surprised by what you discover.
By: Gavi Narra on: