Smart Fridge

Smart Fridge

Track Inventory, Reduce Waste | Mar – May 2025

Product Development
Product Development
Physical Computing
Physical Computing
Figma - UI Design/Prototype
Figma - UI Design/Prototype
TOOLS/SKILLS

Figma, Python, Fabrication, Teachable Machine, UX Research, Rapid Prototyping

MADE FOR

Design for Digital Systems – CMU School of Design

MY ROLE

UX design, UI prototyping, physical fabrication, camera integration

TEAM

2 students (Design + Engineering)

Overview

Smart Fridge is a connected fridge system that helps people track aging produce, view their inventory remotely, and get recipe ideas based on what’s inside. Built in 8 weeks, the system uses image recognition and a custom touchscreen UI to reduce food waste and make cooking easier.

My teammate and I designed the physical housing, trained the produce classifier, and built a working prototype that combines a camera feed, screen interface, and functional enclosure.

One-Touch Operation

Story-Driven Design

Interactive Prototype

CMU Design Expo '24

1st Place - Best Prototype

Motivation: Minimizing Food Waste

Motivation: Minimizing Food Waste

I hate throwing out food.

But inevitably, it happens. I’ll open the fridge and find an abandoned carrot, shriveled and forgotten in the back corner. That tiny moment raised a big question:

>Why is it so easy to lose track of what’s in our fridge — especially when it costs us money and waste?

For my Design for Digital Systems course, my teammate and I set out to build a connected system that could help people remember what they already had, make better use of it, and reduce food waste in the process.

>Our goal: Make it easier to cook, shop smarter, and waste less.

I hate throwing out food.

But inevitably, it happens. I’ll open the fridge and find an abandoned carrot, shriveled and forgotten in the back corner. That tiny moment raised a big question:

>Why is it so easy to lose track of what’s in our fridge — especially when it costs us money and waste?

For my Design for Digital Systems course, my teammate and I set out to build a connected system that could help people remember what they already had, make better use of it, and reduce food waste in the process.

>Our goal: Make it easier to cook, shop smarter, and waste less.

I hate throwing out food.

But inevitably, it happens. I’ll open the fridge and find an abandoned carrot, shriveled and forgotten in the back corner. That tiny moment raised a big question:

>Why is it so easy to lose track of what’s in our fridge — especially when it costs us money and waste?

For my Design for Digital Systems course, my teammate and I set out to build a connected system that could help people remember what they already had, make better use of it, and reduce food waste in the process.

>Our goal: Make it easier to cook, shop smarter, and waste less.

The Problem: Food Goes to Waste Because We Forget What We Have

Even people who want to use what they buy often forget what’s in the fridge — or aren’t sure how long it’s good for.

Fresh groceries go bad quietly. Rot is invisible until it smells. And while planning meals can help, it’s easy to forget what you’ve already got, or feel uninspired by aging ingredients.

We wanted to design something that could shift that — not by forcing users to log items manually, but by seeing what’s inside and suggesting how to use it.

Even people who want to use what they buy often forget what’s in the fridge — or aren’t sure how long it’s good for.

Fresh groceries go bad quietly. Rot is invisible until it smells. And while planning meals can help, it’s easy to forget what you’ve already got, or feel uninspired by aging ingredients.

We wanted to design something that could shift that — not by forcing users to log items manually, but by seeing what’s inside and suggesting how to use it.

Even people who want to use what they buy often forget what’s in the fridge — or aren’t sure how long it’s good for.

Fresh groceries go bad quietly. Rot is invisible until it smells. And while planning meals can help, it’s easy to forget what you’ve already got, or feel uninspired by aging ingredients.

We wanted to design something that could shift that — not by forcing users to log items manually, but by seeing what’s inside and suggesting how to use it.

Our Vision: A Fridge That Thinks With You

We set out to build a prototype that could:

Recognize produce items via camera-based image recognition

Recognize produce items via camera-based image recognition

Track their freshness over time

Track their freshness over time

Recommend recipes tailored to what’s in stock

Recommend recipes tailored to what’s in stock

Research: Understanding Food Habits and Fridge Behavior

Research: Understanding Food Habits and Fridge Behavior

To understand the real breakdown moments, we explored how people interacted with their food in three moments:

To understand the real breakdown moments, we explored how people interacted with their food in three moments:

To understand the real breakdown moments, we explored how people interacted with their food in three moments:

At home

At home

"I forgot what I have in the fridge"

"I forgot how long that's been in there"

"I forgot what I have in the fridge"

"I forgot how long that's been in there"

"I forgot what I have in the fridge"

"I forgot how long that's been in there"

At the store

At the store

"I buy extras because I forget what's at home"

"I buy extras because I forget what's at home"

"I buy extras because I forget what's at home"

While Cooking

Cooking

While Cooking

"I don't know what to do with the stuff that's about to go bad"

"I don't know what to do with the stuff that's about to go bad"

"I don't know what to do with the stuff that's about to go bad"

From interviews and observation, we learned:

Pain Points:

Pain Points:

Tracking - Most people don’t track expiration dates, especially for loose produce like apples or peppers

Tracking - Most people don’t track expiration dates, especially for loose produce like apples or peppers

Tracking - Most people don’t track expiration dates, especially for loose produce like apples or peppers

Messy - Messy fridges lead to hidden waste (out of sight, out of mind)

Messy - Messy fridges lead to hidden waste (out of sight, out of mind)

Messy - Messy fridges lead to hidden waste (out of sight, out of mind)

Fill the Gap:

Fill the Gap:

Clean Layout - A simple visual of “what’s in my fridge” could change shopping and cooking behavior

Interactive/Fun - The satisfaction of crushing something — "I wanna try!"

Clean Layout - A simple visual of “what’s in my fridge” could change shopping and cooking behavior

Easy Recipes - Users want recipe help, but don’t want to input every item manually

Easy Recipes - Users want recipe help, but don’t want to input every item manually

Easy Recipes - Users want recipe help, but don’t want to input every item manually

Designing a Smarter Fridge Interface

Designing a Smarter Fridge Interface

Figma Prototyping

We wireframed early concepts in Figma, exploring how to visualize fridge contents in a way that felt familiar, helpful, and fast.

We wireframed early concepts in Figma, exploring how to visualize fridge contents in a way that felt familiar, helpful, and fast.

We explored 3 major directions:

Design Direction

Design Direction

Design Direction

Focus

Focus

Focus

Why We Explored It

Why We Explored It

Why We Explored It

Expiry-first

Expiry-first

Expiry-first

Prioritize aging items


Prioritize aging items


Prioritize aging items


Help users use up what’s expiring

Help people use up what’s expiring

Help users use up what’s expiring

Recipe-first

Recipe-first

Recipe-first

Start with meal ideas

Start with meal ideas

Start with meal ideas

Reduce cognitive load

Reduce cognitive load

Reduce cognitive load

Visual-first

Visual-first

Visual-first

Digital fridge shelf

Digital fridge shelf

Digital fridge shelf

Leverage recognition + spatial memory

Leverage recognition + spatial memory

Leverage recognition + spatial memory

We chose to combine expiry-first and visual-first to balance utility and intuitiveness. Visual-first allows users to easily navigate what is in their fridge, by organizing the items in an evenly spaced, scrollable shelf that correlates with the actual shelf. This allows them to easily see everything they have in stock, even if it is messy inside.

If any item is tapped, it will show the item, how much is in stock, and how much time they have left for it before it is questionable to eat.

We chose to combine expiry-first and visual-first to balance utility and intuitiveness. Visual-first allows users to easily navigate what is in their fridge, by organizing the items in an evenly spaced, scrollable shelf that correlates with the actual shelf. This allows them to easily see everything they have in stock, even if it is messy inside.

If any item is tapped, it will show the item, how much is in stock, and how much time they have left for it before it is questionable to eat.

We chose to combine expiry-first and visual-first to balance utility and intuitiveness. Visual-first allows users to easily navigate what is in their fridge, by organizing the items in an evenly spaced, scrollable shelf that correlates with the actual shelf. This allows them to easily see everything they have in stock, even if it is messy inside.

If any item is tapped, it will show the item, how much is in stock, and how much time they have left for it before it is questionable to eat.

Clean Visual Layout

Clean Visual Layout

Easily Check Expiry

Easily Check Expiry

Browse recipes based on what you have

Browse recipes based on what you have

Building the Prototype

Building the Prototype

We didn’t want to just mock it up — we wanted to build something real that could see, track, and display fridge inventory. I led the full prototyping process from housing fabrication to camera integration and UI.

We didn’t want to just mock it up — we wanted to build something real that could see, track, and display fridge inventory. I led the full prototyping process from housing fabrication to camera integration and UI.

Physical Build

To bring the experience to life, we constructed a physical mini-fridge prototype.

  • Laser-cut acrylic frame with hinged doors

  • Print-in-place 3D printed hinges

  • Custom Machined Wooden Door with built in screen display

  • Webcam mounted inside to scan items

  • Laptop connected to run local scripts and image recognition

  • Teachable Machine model trained on common produce (bananas, bell peppers, tomatoes, etc.)

We also designed a connected iPad UI that displays:

  • Current inventory

  • Expiration warnings

  • Recipe recommendations

To bring the experience to life, we constructed a physical mini-fridge prototype.

  • Laser-cut acrylic frame with hinged doors

  • Print-in-place 3D printed hinges

  • Custom Machined Wooden Door with built in screen display

  • Webcam mounted inside to scan items

  • Laptop connected to run local scripts and image recognition

  • Teachable Machine model trained on common produce (bananas, bell peppers, tomatoes, etc.)

We also designed a connected iPad UI that displays:

  • Current inventory

  • Expiration warnings

  • Recipe recommendations

Digital System

We trained an image recognition model using Google Teachable Machine to recognize common produce items like bananas, tomatoes, and bell peppers.

A webcam mounted inside the fridge captured images of the contents, which were classified locally and used to update the UI in real time.

The fridge interface was first designed in Figma, then brought to life in p5.js using OpenProcessing. I coded the interaction logic to simulate shelf-based organization, item tagging, and freshness tracking. This interface was deployed on an iPad embedded in the fridge door, creating a fully interactive screen experience.

By connecting the webcam classification with the UI logic in p5.js, I created a responsive system that could recognize produce, estimate freshness, and surface recipe suggestions — all running live on the prototype.

UI Designed in Figma

UI Designed in Figma

p5.js connects it all

p5.js connects it all

OpenProcessing makes iPad UI responsive to other inputs

OpenProcessing makes iPad UI responsive to other inputs

Webcam detects food via image recognition

Webcam detects food via image recognition

UI displayed on iPad for user to interact with

UI displayed on iPad for user to interact with

The fridge interface was first designed in Figma, then brought to life in p5.js using OpenProcessing. I coded the interaction logic to simulate shelf-based organization, item tagging, and freshness tracking. This interface was deployed on an iPad embedded in the fridge door, creating a fully interactive screen experience.

By connecting the webcam classification with the UI logic in p5.js, I created a responsive system that could recognize produce, estimate freshness, and surface recipe suggestions — all running live on the prototype.

Final System

Final System

The completed prototype included:
  • Live image recognition of produce
  • Shelf life estimation using typical aging timelines
  • Dynamic UI showing freshness levels, inventory, and recipes
  • Fully integrated physical-digital build — fridge, screen, camera, and code
We demoed the system at our course’s final expo, where attendees could interact with it directly. Many loved the concept and remarked that it felt both futuristic and useful — a rare combination. Our project stood out for its integration of mechanical, digital, and experiential design.
“It’s like a meal planner, fridge manager, and shopping assistant in one.”

Live image recognition of produce

Live image recognition of produce

Shelf life estimation using typical aging timelines

Shelf life estimation using typical aging timelines

Dynamic UI showing freshness levels, inventory, and recipes

Dynamic UI showing freshness levels, inventory, and recipes

Fully integrated physical-digital build of fridge, screen, camera, and code

Fully integrated physical-digital build of fridge, screen, camera, and code

What’s Next

If we were to keep developing Smart Fridge, we’d love to explore:

  • LLM-based smart recipe generation

  • A mobile interface to sync your fridge to your grocery trip

  • Dietary filtering and allergy-based recipe sorting

jjj


Reflection

Reflection

This was one of the most holistic projects I’ve worked on — blending physical fabrication, computer vision, UI/UX, and user-centered problem solving.

It reminded me that meaningful interaction doesn’t just happen on screens. Designing something that lives in someone’s kitchen means designing for behavior, emotion, and daily life.

I loved making this — and I want to build more systems like it.

Me, Sarah, and Professor Andrew Twigg

Other Projects

Other Projects

Smart Fridge

Track Inventory, Reduce Waste | Mar – May 2025

Product Development
Physical Computing
Figma - UI Design/Prototype

TOOLS

Figma, Python, Fabrication, Teachable Machine, UX Research, Rapid Prototyping

MADE FOR

Design for Digital Systems – CMU School of Design

MY ROLE

UX design, UI prototyping, physical fabrication, camera integration

TEAM

2 students (Design + Engineering)

Overview

Smart Fridge is a connected fridge system that helps people track aging produce, view their inventory remotely, and get recipe ideas based on what’s inside. Built in 8 weeks, the system uses image recognition and a custom touchscreen UI to reduce food waste and make cooking easier.

My teammate and I designed the physical housing, trained the produce classifier, and built a working prototype that combines a camera feed, screen interface, and functional enclosure.

One-Touch Operation

Story-Driven Design

Interactive Prototype

Create a free website with Framer, the website builder loved by startups, designers and agencies.