FreshTrack: Scan It, Save It, Eat It

Inspiration* A bag of grapes first made us think of this. “These will be great in my afternoon smoothie when I get home,” I thought, tucking them into my shopping cart. But once home, they slipped into the back of the fridge to be largely forgotten until a faint, unpleasant odor beckoned investigation. Only to find them moldy and mush.

This, alas, was no anomaly. Bread would sport fuzzy caps, yogurts would stand untouched in the back, and even fresh chicken would sometimes spoil before we ate a single piece. And we weren’t alone. The average household throws away enough food each year to fill entire bins. Most people don’t intentionally waste food-it simply gets forgotten, the dates passing them by. Keeping track of expiration dates across many items simply isn’t a glamorous job any of us have time for. That's why we developed the idea of an app that handles it for us - an app that turns those “this is about to go bad” moments into “here’s something delicious to make tonight” opportunities.

How We Built It** We built our entire app without any coding - all on Base44, a no-code AI app building platform. What normally would have felt like writing line after line of code, felt more like a natural conversation. We started by explaining what we wanted to create: “An app that lets users upload grocery receipts or food photos, tracks expiration windows for each item, and recommends recipes based on what's about to go bad” in Base44’s Builder Chat. More specifically, we went on to describe:

  1. Data Model - We asked Base44 to set up a database to store all the information about tracked food items. We told it what we needed to store like item name, category, purchase date, and the expiration window of each item. It automatically set up the tables and their relationships without us needing to input any code.

  2. Freshness Logic - To model our food items' freshness we needed a dynamic decay system, not strict hard-cutoffs. We prompted Base44 to create a freshness score that decayed over time. The formula we prompted: $$ F(t) = F0 \cdot e^{-\lambda t} $$ Where $$F0$$ is the freshness at the moment of purchase, $$t$$ is days since purchase, and $$\lambda$$ is a category-specific decay rate. Through Base44's backend functions and refining in the chat, we created and adjusted thresholds for each food category until the alerts felt just right.

  3. Recipe Matching - We integrated with a recipe database using Base44’s building tools and defined how it would match recipes: prioritizing the closest expiration dates, and allowing users to specify preferences.

    1. File Handling and Uploads -Base44 handled all of the file storage, including receipt scans and photos of food, without us having to write anything in terms of coding logic. To start with, we spent time in the Discussion Mode of Base44. It’s where we brainstormed with the AI on the data models and freshness algorithms before making live changes to the app itself. It saved us time and we never had to worry about breaking anything. After it all looked good, we published the app in a single click!

Challenges We Faced** Giving clear enough instructions to the AI. This is the toughest hurdle. Building the app itself is easy with Base44, but learning how to articulate what you want to achieve clearly is a skill. Vague prompts produce vague results, but clearly defined prompts including specific fields, desired behaviors, and edge cases helped the AI generate exactly what we wanted very quickly.

Defining “expiration”. Real-life expiration is more complex. A banana will last longer if its perfectly ripe upon purchase compared to an overripe banana. We came to accept that an estimated approach rather than a guaranteed cutoff was best and prompt Base44 to reflect this nuance in the user interface. Being a “safe bet”. Early ideas might have considered prompts such as “tell them if it’s safe to eat,” but that is beyond the scope of what an AI can reliably determine. The AI can’t see, smell, or test for contamination in the way that humans can. We prompt Base44 for prompts such as, “likely approaching expiration, examine it carefully,” to empower users to use their own best judgment while being guided.

What We Learned** The major takeaway wasn’t a technical one - it was about restraint and realizing the importance of a system to nudge users toward better decisions rather than dictate them. We learned that as useful as AI can be, it’s most effective when it serves as an assistive tool that informs our decisions rather than making them for us. Another significant lesson: building an app with AI doesn’t require writing traditional code but rather a precise and thoughtful approach to instructing the AI. The success of the app boiled down to how well we were able to clearly articulate our needs, test the resulting structures, and patiently iterate until perfection. Ultimately, the most rewarding learning experience was realizing the impact of solving this widespread problem. Food waste isn't always loud or obvious; it often happens gradually and in small ways, making a timely prompt a surprisingly powerful intervention.

Built With

  • base44
  • chatgpt
  • claude
Share this project:

Updates